=== sadmac_ is now known as sadmac | ||
sadmac2 | Keybuk: how was the flight back? | 15:53 |
---|---|---|
Keybuk | hellish | 15:57 |
Keybuk | I can never sleep on planes | 15:57 |
sadmac2 | unfortunate | 15:58 |
sadmac2 | Keybuk: I've been pondering the idea of transitions in the state machine | 16:03 |
sadmac2 | basically, right now if we have state A set, and we say when A on q B, we get state A and B true | 16:03 |
sadmac2 | this is good, we want this | 16:03 |
sadmac2 | but we might also want this: | 16:04 |
sadmac2 | on q transition A to B | 16:04 |
sadmac2 | so when q happens, A becomes false, and B becomes true | 16:04 |
Keybuk | it depends whether you reuse your A object for "A and C" | 16:04 |
Keybuk | otherwise it's just two different ways to look at the same effect? | 16:04 |
sadmac2 | you'd want to reuse | 16:05 |
sadmac2 | that'd be expected behavior for the user | 16:05 |
Keybuk | so | 16:05 |
Keybuk | when A on q B | 16:05 |
Keybuk | when A on r C | 16:05 |
Keybuk | ? | 16:05 |
Keybuk | I don't think you can express that if A transitions to B on q | 16:06 |
Keybuk | since you lost your A tracking for C | 16:06 |
sadmac2 | yes, its not appropriate there | 16:06 |
Keybuk | so which you pick depends on the implementation I think | 16:06 |
sadmac2 | some cases you want one behavior, some the other | 16:06 |
sadmac2 | we can support both | 16:06 |
sadmac2 | with different keywords | 16:07 |
sadmac2 | when A on q B means if you have A and q happens you keep A and get B | 16:07 |
sadmac2 | when A on q goto B means if you have A and q happens you lose A and get B | 16:07 |
Keybuk | would you want the latter behaviour if you have the former? | 16:08 |
sadmac2 | runlevels | 16:08 |
Keybuk | sometimes it helps to have a use case for a feature before you worry about it | 16:08 |
sadmac2 | think runlevels | 16:08 |
Keybuk | runlevels right now are just different values of A | 16:08 |
sadmac2 | but we can view them as independent states | 16:08 |
Keybuk | we can, indeed | 16:09 |
Keybuk | here's an interesting thought | 16:09 |
Keybuk | if A is "runlevel 2" | 16:09 |
Keybuk | and B is "runlevel 3" | 16:09 |
Keybuk | if you transition from 2 to 3, you may not kill all the processes started by 2 | 16:09 |
Keybuk | so would those still hold a reference on 2? | 16:10 |
sadmac2 | right | 16:10 |
Keybuk | if A transitioned to B, would those suddenly have null references or reference a different state to what started them? | 16:10 |
sadmac2 | hmm | 16:10 |
Keybuk | and if A just went away from the list of active states, and B got added, would that be bad? | 16:10 |
sadmac2 | the processes in runlevels right now are outside of our management | 16:10 |
sadmac2 | could we fix that? maybe. | 16:10 |
Keybuk | sure | 16:11 |
sadmac2 | and can we fix it while the people using them remain oblivious to them? | 16:12 |
Keybuk | we could | 16:12 |
Keybuk | we may only fix it if they have LSB headers | 16:12 |
sadmac2 | the thing we're missing is the references go the other way | 16:13 |
sadmac2 | the services don't depend on the runlevel | 16:13 |
sadmac2 | the runlevel depends on the services | 16:13 |
sadmac2 | bringing up a runlevel brings up all the services. | 16:13 |
sadmac2 | bringing up all the services doesn't necessarily change the runlevel (in fact the people wanting sysv compat would freak if that happened) | 16:14 |
Keybuk | it'd be interesting if it did :p | 16:16 |
sadmac2 | interesting | 16:16 |
sadmac2 | and I think we can do it | 16:16 |
Keybuk | lamp = (apache, mysql) + auto | 16:16 |
Keybuk | start lamp | 16:16 |
Keybuk | will start apache and mysql | 16:16 |
sadmac2 | but its not right for runlevels | 16:16 |
Keybuk | but | 16:16 |
Keybuk | start apache | 16:16 |
Keybuk | start mysql | 16:16 |
Keybuk | will also inherently say lamp is running | 16:16 |
Keybuk | why not? :P | 16:16 |
Keybuk | take the Fedora model | 16:16 |
Keybuk | if I boot into runlevel 3 | 16:16 |
Keybuk | and I start X | 16:16 |
Keybuk | shouldn't it now say I'm in runlevel 5? :p | 16:16 |
Keybuk | because I am | 16:16 |
sadmac2 | not according to sysv | 16:16 |
sadmac2 | this is a compat mode. we can't do as much cool stuff here | 16:17 |
Keybuk | show me the line that says that cannot be true :p | 16:17 |
sadmac2 | if it ain't broke, it ain't fixed | 16:17 |
sadmac2 | I'll show you the mailing list that says it cannot be true :D | 16:17 |
Keybuk | sure | 16:17 |
Keybuk | url to the thread? | 16:17 |
* sadmac2 goes digging archives | 16:20 | |
sadmac2 | not a specific example, but: | 16:33 |
sadmac2 | > Are you seriously suggesting that less than 50% of Fedora systems have | 16:34 |
sadmac2 | > yum installed? | 16:34 |
sadmac2 | yes; at least on my machines there is yum only on the host while | 16:34 |
sadmac2 | guestsystems don't need it. Ratio of physical hosts to virtual | 16:34 |
sadmac2 | ^^guy purporting not to have python on 3/4 of his fedora boxes | 16:34 |
sadmac2 | point being: the people who care most about sysv compat are batshit insane | 16:34 |
Keybuk | http://cvs.fedoraproject.org/viewvc/rpms/upstart/devel/upstart-telinit-u.patch?revision=1.1&view=markup | 16:55 |
Keybuk | sorry to change the subject | 16:55 |
Keybuk | but about the patch | 16:55 |
sadmac2 | yeah | 16:55 |
sadmac2 | we'll need a new one won't we? | 16:55 |
sadmac2 | ugh, regression. | 16:56 |
Keybuk | actually, it was more the implementation that interested me | 16:56 |
Keybuk | you added a control message | 16:56 |
Keybuk | initctl sends that control message to upstart | 16:56 |
Keybuk | which handles that control message | 16:56 |
Keybuk | by ... | 16:56 |
Keybuk | sending itself the TERM signal | 16:56 |
Keybuk | couldn't you have just made initctl send the term signal? :p | 16:56 |
Keybuk | case 'u': | 16:56 |
Keybuk | kill (1, SIGTERM); | 16:57 |
Keybuk | break; | 16:57 |
sadmac2 | I think we figured there would be a better way than self-terming to handle that case down the road | 16:57 |
Keybuk | so you figured it'd be better to add API without knowing what you wanted? :p | 16:57 |
Keybuk | giving yourself the interesting "socket goes away during a call" problem <g> | 16:58 |
Keybuk | I'm amused, rather than anything else, btw :) | 16:58 |
sadmac2 | meh | 16:58 |
Keybuk | "I would not have done it that way" <g> | 16:58 |
sadmac2 | I learned the control system | 16:58 |
sadmac2 | ultimately I think its a product of not looking at both ends | 16:58 |
sadmac2 | I wrote the telinit bit | 16:58 |
sadmac2 | then realized that once I got the message in init there wasn't much interesting to do with it | 16:59 |
Keybuk | :D | 16:59 |
Keybuk | that sounds like my one attempt to sleep with a woman | 17:07 |
Keybuk | once I got it in, there was nothing else useful to do | 17:07 |
sadmac2 | ...wow... | 18:26 |
sadmac2 | I should write that down somewhere | 18:26 |
suihkulokki | http://www.internettablettalk.com/2008/09/18/osim-maemo-developer-session/ | 18:35 |
suihkulokki | something familiar on the slide :) | 18:35 |
sadmac2 | HEE | 18:44 |
sadmac2 | *hee | 18:44 |
sadmac2 | capslock makes everything awkward! | 18:44 |
keesj | indeed | 19:57 |
keesj | As I understand they will try to go for the native upstart mode | 19:57 |
ion_ | capslock makes everything awesome! | 19:58 |
Keybuk | bah, there was a bonus available for replying "INDEED" there ;) | 19:58 |
ion_ | I didn’t dare to type that in caps, though. :-) | 19:58 |
* keesj was at the maemo summit | 19:58 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!