plan 9 kernel history: overview | file list | diff list

1991/0614/port/sysfile.c (diff list | history)

1991/0501/sys/src/9/port/sysfile.c:243,2481991/0614/sys/src/9/port/sysfile.c:243,249 (short | long | prev | next)
Possible semantics change: insert poperrors in read, write, remove, despite comment at top of file.
Bug fix: poperror bug in mount.
rsc Fri Mar 4 17:11:44 2005
1990/0227    
	else 
1991/0411    
		n = (*devtab[c->type].read)(c, (void*)arg[1], n, c->offset); 
1990/0227    
	c->offset += n; 
1991/0614    
	poperror(); 
1991/0411    
	qunlock(&c->rdl); 
1990/0227    
	return n; 
} 
1991/0501/sys/src/9/port/sysfile.c:265,2701991/0614/sys/src/9/port/sysfile.c:266,272
1990/11211    
		error(Eisdir); 
1991/0411    
	n = (*devtab[c->type].write)(c, (void*)arg[1], arg[2], c->offset); 
1990/0227    
	c->offset += n; 
1991/0614    
	poperror(); 
1991/0411    
	qunlock(&c->wrl); 
1990/0227    
	return n; 
} 
1991/0501/sys/src/9/port/sysfile.c:305,3131991/0614/sys/src/9/port/sysfile.c:307,315
1990/0227    
		break; 
	} 
	off = c->offset; 
1991/0614    
	poperror(); 
1991/0411    
	qunlock(&c->rdl); 
	qunlock(&c->wrl); 
1990/0227    
	poperror(); 
	return off; 
} 
 
1991/0501/sys/src/9/port/sysfile.c:412,4191991/0614/sys/src/9/port/sysfile.c:414,423
1990/11211    
	if(flag && !(c0->qid.path&CHDIR)) 
		error(Ebadmount); 
1990/0227    
	ret = mount(c0, c1, flag); 
	close(c0); 
1991/0614    
	poperror(); 
1990/0227    
	close(c1); 
1991/0614    
	poperror(); 
	close(c0); 
1990/0227    
	if(ismount){ 
		close(bogus.chan); 
		fdclose(arg[0]); 
1991/0501/sys/src/9/port/sysfile.c:465,4701991/0614/sys/src/9/port/sysfile.c:469,475
1990/0227    
	 * so fake it up.  rootclose() is known to be a nop. 
	 */ 
	c->type = 0; 
1991/0614    
	poperror(); 
1990/0227    
	close(c); 
	return 0; 
} 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)