Hi, Suppose I have a job B which includes the following stanza:
start on (started A or mounting MOUNTPOINT=/m) It seems that the following sequence of events can occur: 1. "started A" event is emitted 2. Job B starts 3. "mounting MOUNTPOINT=/m" event is emitted 4. "mounting MOUNTPOINT=/m" event completes 5. mountall attempts to mount /m 6. Job B's main process is started 7. Job B is marked as "running" So the "start on" stanza fails to guarantee that job B is actually running before /m is mounted. mounting(7) says that mountall will "wait for all services started by this event to be running ... before proceeding with mounting the filesystem." The above behaviour is consistent with that, since job B was not triggered by the mounting event. However, the behaviour doesn't seem very useful. I would suggest that mountall needs to wait until all services that *would be* started by this event are running, even if they were actually started by something else. Can anyone comment on why it wasn't implemented that way? Can someone suggest how to change the start condition to get the desired behaviour? I realise that the mounting event is defined by mountall but I think the relevant logic about which events block which others is inside upstart(?). And I couldn't find a mailing list for mountall anyway so I decided to try asking here. -- upstart-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel
