9 Mar 2008 joolean   » (Journeyer)

SRFI-18

Whee -- the second of the three SRFI-18 patches has just been committed to Guile HEAD. This one was a doozy, and included a bunch of additions to the core threading API. Specifically, the following functions are now available for use: scm_join_thread_timed, scm_thread_p, scm_make_mutex_with_flags, scm_lock_mutex_timed, scm_unlock_mutex_timed, scm_mutex_p, and scm_condition_variable_p. In addition to providing the groundwork for a full Scheme implementation of SRFI-18, I think these functions bring Guile's threading API comparably up to date with most other modern, you know, commodity language platforms.

One of the neat things that came out of this round of discussion and debugging is that, as kind of pointed out by Marc Feeley's SRFI-18 spec, waiting on a condition variable is actually a special case of mutex unlocking.

Next up: The Scheme parts of SRFI-18. This should come fairly quickly, given that it's already written -- and that Scheme's far less brittle than C when it comes to refactoring.

The big blue (server) room

I spent yesterday (Saturday) in the office, helping my boss build a rack for our servers, something neither of us had ever done before. The process involved completely dismantling the network used by our company (and the two other companies we share space with); dismantling the existing rack; building our new rack; hastily purchasing underpowered power tools to drill holes into the hardwood floors to brace the thing; painstakingly hooking everything back up according to the notes I'd taken; having nothing work right; panicking; finally realizing at midnight that there was a bad Ethernet cable between the T1 and the switch; celebrating.

Woke up at 2:00 PM today, still groggy, all the muscles in my back cramped to hell.

Latest blog entries     Older blog entries

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!