On 03/27/10 12:40 AM, casper....@sun.com wrote:
I've been tinkering with doors and I've hit a snag.

When I create my door, the file file looks OK:

did = door_create(doorFn, NULL, 0);

fattach(did, "/tmp/demo");

while( 1 ) sleep( 10 );

Drw-------   1 ian      staff          0 Mar 26 23:53 /tmp/demo

But after I run a client that invokes door_call on the door, the file
mode changes:

did = open( "/tmp/demo", O_RDONLY);
...
door_call(did,&args);

-rw-------   1 ian      staff          0 Mar 26 23:53 /tmp/demo

and the second run of the client fails with EBADF from door call.  Am I
doing something silly?
Is the door server still running?  It appears that door was removed
(fdetach).

D'oh! Thanks Casper and Max, the sever was still running, but I'd accidentally added fdetach to the client clean up as well....

--

Ian.

_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to