On 3 Dec 2009, at 08:04, Saso Kiselkov wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Sure it's unportable, which is why I always include a custom
> implementation of daemon() with my code which works on most *nixes :-).

Using NSTask works on ms-windows as  well.  Of course, you can implement your 
own daemon using NSTask.

> After reading the message though I realize I misunderstood it.
> 
> What's most likely screwing up is that the process doesn't de-register
> from the name server. Maybe a simple atexit() or signal() handler would
> do the trick.

That shouldn't really matter ... the nameserver code is designed to handle the 
case where something kills a process and prevents it from deregistering its 
name.

> German: you do try this as a test whether the name is being unregistered:

Unfortunately testing that is not useful ... what needs to be determined is why 
the name can't be registered.

Normally the directory to look at is /tmp/GNUstepXXX/NSMessagePort where XXX is 
your user ID

There is a subdirectory 'names' containing files for registered names ... the 
name of each file is a base64 encoded port name.  The content of each file is 
the port identifier.

There is a subdirectory 'ports' containing named pipes for each port.  The port 
names are of the port pid.sequence where pid is a process id and sequence is a 
sequence number for when a process uses multiple ports.

For registration to fail, the name file must point to a port file which has a 
process listening on it (ie the port must still be in use).



_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to