| plan 9 kernel history: overview | file list | diff list |
1992/0623/port/pgrp.c (diff list | history)
| 1992/0619/sys/src/9/port/pgrp.c:52,81 – 1992/0623/sys/src/9/port/pgrp.c:52,58 (short | long | prev | next) | ||
| 1992/0619 | return p; | |
| 1991/0705 | } | |
| 1992/0619 |
| |
| 1991/0705 |
| |
| 1992/0619 |
| |
| 1991/0705 |
| |
| 1992/0619/sys/src/9/port/pgrp.c:82,88 – 1992/0623/sys/src/9/port/pgrp.c:59,66 | ||
| 1991/0705 | Chan *c; int i; | |
| 1992/0623 | new = smalloc(sizeof(Fgrp)); new->ref = 1; | |
| 1991/0705 | ||
| 1992/0607 | lock(f); | |
| 1991/0705 | new->maxfd = f->maxfd; | |
| 1992/0619/sys/src/9/port/pgrp.c:139,152 – 1992/0623/sys/src/9/port/pgrp.c:117,132 | ||
| 1991/0705 | void | |
| 1991/1018 | closeegrp(Egrp *eg) | |
| 1991/0705 | { | |
| 1991/1018 |
| |
| 1991/0705 |
| |
| 1992/0623 | Evalue *e, *next; | |
| 1991/0705 | ||
| 1991/1018 | if(decref(eg) == 0) { | |
| 1992/0619 | ||
| 1992/0623 | for(e = eg->entries; e; e = next) { next = e->link; free(e->name); if(e->value) free(e->value); free(e); } | |
| 1992/0619 | free(eg); | |
| 1991/0705 | } } | |
| 1992/0619/sys/src/9/port/pgrp.c:183,199 – 1992/0623/sys/src/9/port/pgrp.c:163,186 | ||
| 1990/0227 | void | |
| 1991/0705 | envcpy(Egrp *to, Egrp *from) | |
| 1990/0227 | { | |
| 1991/1018 |
| |
| 1992/0623 | Evalue **l, *ne, *e; | |
| 1990/0227 | ||
| 1991/1018 |
| |
| 1992/0623 | l = &to->entries; qlock(from); for(e = from->entries; e; e = e->link) { ne = smalloc(sizeof(Evalue)); ne->name = smalloc(strlen(e->name)+1); strcpy(ne->name, e->name); if(e->value) { ne->value = smalloc(e->len); memmove(ne->value, e->value, e->len); ne->len = e->len; } ne->path = ++to->path; *l = ne; l = &ne->link; } qunlock(from); | |
| 1991/0514 | } void | |