> I believe, however, that what Dan's describing is a scenario whereby the > daemon is being started and some process attempts to use the door in the > window between door_create() and daemonization. Maybe this isn't during > boot and someone typed "ifconfig plumb bge0" while the daemon was being > restarted, and the daemon is in the process of servicing an upcall while > daemonizing. Will this cause a problem? Do we care?
I'm unclear why the daemon was being restarted. Did it crash? If so, I'd say that's an edge condition of an edge condition, and that it wouldn't be a big deal if the ifconfig command failed because its door_call() thread got cancelled. (This whole scenario seems a bit contrived.) > > As I recall, the door file is actually packaged (rather than being created > > on demand) so that we avoid having to create it early at boot when the > > filesystem is read-only. > > Yes, but the event Dan's concerned about isn't the door file creation, > but the creation of the server procedure within the daemon (door_create()). I thought one of Dan's earlier suggestions for dealing with this was to have the daemon explicitly create the door file. -- meem
