/srv/irclogs.ubuntu.com/2007/03/14/#upstart.txt

=== administrator_ [i=administ@nat/cisco/x-25d4413a51d0f9ec] has joined #upstart
=== mbiebl [n=michael@e180092186.adsl.alicedsl.de] has joined #upstart
=== j_ack [n=rudi@p508D9256.dip0.t-ipconnect.de] has joined #upstart
=== j_ack [n=rudi@p508D9256.dip0.t-ipconnect.de] has joined #upstart
=== administrator_ [i=administ@nat/cisco/x-255e312bf7d07859] has joined #upstart
=== Amaranth [n=travis@ubuntu/member/Amaranth] has joined #upstart
=== asdaf is back (gone 15:46:02)
_ionSigh.10:48
=== Md [i=md@freenode/staff/md] has joined #upstart
=== cort [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart
=== Keybuk [n=scott@quest.netsplit.com] has joined #upstart
_ionkeybuk: Btw, how about LUA for an alternative to sh in jobs? liblua* are so small that moving them to /lib shouldn't be a problem.12:22
_ionIt's a quite nice language.12:23
Keybukit's a nice syntax, but it's a pain since you have to code every single damned function primitive yourself <g>12:24
=== pkt [n=knoppix@85.75.167.149] has joined #upstart
=== pkt [n=knoppix@85.75.167.149] has joined #upstart
=== mbiebl [n=michael@e180122191.adsl.alicedsl.de] has joined #upstart
_ionkeybuk: Btw, are you familiar with the dovecot library?02:18
_ionkeybuk: cvs -d :pserver:anonymous@dovecot.org:/home/cvs co dovecot, see dovecot/src/lib02:18
Keybukno?02:23
KeybukI'm familiar with dovecot, obviously02:23
Keybukmost C programs end up acquiring their own "standard library"02:25
Keybukor they use another like glib wholesale02:25
_ionThe library is somewhat similar to e.g. libnih and glib. The interesting thing is the data stack / mempool stuff.02:25
_ion(It's not dovecot-specific, although it has been developed with dovecot. At least icecapd+irssi2 use it in addition to dovecot.)02:26
Keybukyeah, I do have a long-running nih todo about temporary memory02:27
Keybukupstart does use it to a small degree (mostly in message processing)02:27
KeybukI'd somewhat like it to be compatible with nih_alloc though, as being able to steal temporary data is useful02:27
=== Keybuk has also been a little concerned about the memory usage of nih_alloc
Keybukthe overhead for a job definition is quite high02:28
KeybukI have a vague thought about it though02:29
Keybukallocations with no parents could have a certain minimum size, say one page02:29
Keybukif child allocations to those could be fitted into that page, they would02:29
KeybukI'm not sure how to structure that to reduce overhead though02:30
=== j_ack [n=rudi@p508dbb9c.dip0.t-ipconnect.de] has joined #upstart
=== Ack` [n=Ack@81-208-31-208.ip.fastwebnet.it] has joined #upstart
_ionkeybuk: Jobs need to be able to *programmatically* create new jobs. :-)06:13
_ionA pseudo-code example for the mount job:06:13
_ionstart on startup06:13
_ionstart ruby  # Not that Ruby is ever going to be an Upstart scripting language06:13
_ion  # ...06:13
_ion  mountpoints.each do |mountpoint|06:14
_ion    deps = mountpoint_deps mountpoint06:14
_ion    job = Upstart::Job.new "mount-" + mountpoint.sanitize06:14
_ion    job.on job.and(deps.map {|dep| "filesystem-mounted " + dep })06:14
_ion    job.start :script, 'mount $1; emit filesystem-mounted $1'06:14
_ion  end06:14
_ionend lua06:14
_ionI didn't think about race conditions etc, though. It's just a quick example.06:16
_ionI also forgot to add 'and block-device-added ...' to the 'on' list.06:16
Keybukstart ruby, but end lua ? :p06:17
Keybukerr06:17
Keybukhow is that different from just emitting an event with the requisite details?06:17
_ionHah. I first wrote 'start lua, end lua' but then thought i'd use ruby instead. Forgot to change the end line. :-)06:18
Keybukthe trouble with trying to define a job like that is ... what happens if the event happens before the job is registered? :p06:18
_ionYes, filesystem-mounted events must not happen before that's processed. Perhaps make a special pre-startup event for metajobs, and process other job after they have done their thing.06:20
_ionIt would seem cleanest if the mount job computed the prerequisite mountpoints instead of the fsck job that emits the event the mount jobs act on.06:22
=== Keybuk isn't convinced
=== j_ack [n=rudi@p508DBB9C.dip0.t-ipconnect.de] has joined #upstart
=== administrator_ [i=administ@nat/cisco/x-85f4ee88ac0494ea] has joined #upstart
=== jonib1 [n=jonas@ua-83-227-144-18.cust.bredbandsbolaget.se] has joined #upstart
_ionAnother approach: http://soijabanaani.net/tmp/upstart-mount07:18
=== juergbi [n=juerg@80-219-17-102.dclient.hispeed.ch] has joined #upstart
=== jonib1 [n=jonas@ua-83-227-144-18.cust.bredbandsbolaget.se] has left #upstart []
=== Md [i=md@freenode/staff/md] has joined #upstart
=== j_ack [n=rudi@p508DBB9C.dip0.t-ipconnect.de] has joined #upstart
=== j_ack [n=rudi@p508DBB9C.dip0.t-ipconnect.de] has joined #upstart
=== Lrrr_ [i=neumann@bas1-sherbrooke40-1177937169.dsl.bell.ca] has joined #upstart
Lrrr_hello, how do I make upstart reread it config files?12:01
=== Lrrr_ [i=neumann@bas1-sherbrooke40-1177937169.dsl.bell.ca] has left #upstart ["meh!"]
_ionHe was in a hurry.12:09

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