/srv/irclogs.ubuntu.com/2009/02/08/#upstart.txt

=== Md_ is now known as Md
Keybuk"slip into the comfort of your own narcolepsy"19:04
* Keybuk has to use that lyric as a release name one day19:04
sadmacI've just been watching music videos with good release names19:05
sadmac"same as it ever was"19:05
Keybuk"this is the new shit" ?19:05
sadmacthat'd be a good 1.0 release name19:06
Keybuktrue19:09
* keesj wanted to shake hands today a fosdem but did not have the patience to wait19:11
sadmacKeybuk: I've been thinking about transactions a bit lately.19:11
Keybukoh yes?19:12
Keybukkeesj: I didn't know you were there! :-(19:12
sadmacKeybuk: I'll cover the bad news first: we can't preserve the transactional property of the system :)  Consider:19:12
sadmacopen transaction19:13
sadmacstop A19:13
sadmacstart B19:13
sadmaccommit19:13
sadmacWe go to apply, we stop A. B won't start19:13
sadmacWe try to revert. A won't start19:13
sadmacwe're stuck in an inconsistent state. We can't revert or complete.19:13
Keybukright, I figured that :-/19:13
sadmacKeybuk: but transactions also give us an opportunity to assign certain contexts to actions. Consider opening a transaction with the "shutdown" option. When its applied, anything we kill, we just ignore rather than killing and let it run. Then at the end of the transaction we fire off the halt.19:14
sadmacif we abort we just reclaim ownership of the lost processes.19:15
Keybukhow do you mean?19:16
sadmacwell, really we'd never release them in the first place. The point is because of the context we know we don't have to actually stop the services. They'll die at the poweroff (or on a mass-kill somewhere near the end of the transaction)19:17
Keybukah, I had a feeling that's what you meant19:18
Keybuktreat the shutdown context specially and not really kill services19:18
sadmacexactly19:18
sadmactransaction properties are a good way to trigger things like halt or reboot too. just a flag that says "when you commit this transaction, reboot"19:19
Keybukthe trouble is you get a limited set of "when you..." to it19:20
sadmacwhat's the issue?19:21
Keybukwell, you could only implement a limited set of FOO for "when you commit this transaction, FOO"19:22
Keybukotherwise its behaviour is identical to an event - you emit it, wait for it to finish, then do something if successful19:22
sadmacthere's only a couple of things we'd want. reboot, halt, stuff like that.19:23
sadmac(katzj probably wants "eject cd tray" in there. I've been refusing his patch for awhile now)19:24
Keybukeject cd tray?19:25
sadmacKeybuk: Jeremy Katz wants pid 1 to be able to eject the cd drive.19:26
sadmacI'm not quite as eager for that feature.19:26
Keybukfor?19:26
Keybukon shutdown?19:26
sadmacyes, shutdown after a livecd19:26
Keybukwe just readahead the reboot binary ;)19:27
sadmacyeah, he really didn't like that19:27
sadmac*shrug*19:28
Keybuk:)19:28
KeybukI actually do intend for init to make the reboot() system call19:28
Keybukwhich solves the underlying problem, provided eject is the last thing you do19:28
sadmacI think it makes more sense in newer upstart.19:29
sadmache's got a patch to make 0.3.9 do the eject thing though.19:29
sadmacI've been ignoring it in bugzilla for months.19:29
Keybukbut then it makes sense to do suspend/hibernate in init too ;)19:30
Keybukand richard hughes won't like that19:30
Keybukdavidkit's ok with the idea19:30
sadmacwho was it that was doing the dbus in kernelspace stuff?19:30
sadmacI can't google it for shit.19:30
KeybukMarcel19:31
sadmachow far along is that now?19:32
KeybukHoltmann19:32
Keybukit's from Marcel19:32
Keybukhow's Hell doing in the Freezing Over stakes?19:32
sadmache not carrying it along or upstream not happy about it?19:33
sadmacor fd.o screwing things up?19:33
Keybukno...19:37
KeybukMarcel invents a lot of things19:37
KeybukMarcel implements substantially fewer things19:37
* sadmac is game19:40
Keybukit makes sense19:42
sadmachas he written anything?19:47
sadmacah. exeunt Keybuk.19:47

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!