[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
guile/guile-core/libguile ChangeLog coop.c
From: |
Mikael Djurfeldt |
Subject: |
guile/guile-core/libguile ChangeLog coop.c |
Date: |
Sat, 06 Oct 2001 12:28:34 -0400 |
CVSROOT: /cvs
Module name: guile
Branch: branch_release-1-6
Changes by: Mikael Djurfeldt <address@hidden> 01/10/06 12:28:34
Modified files:
guile-core/libguile: ChangeLog coop.c
Log message:
* coop.c (mother_awake_p): New variable.
(coop_create): Set mother_awake_p before creating or signalling
mother; wait until mother is going to sleep before returning.
(mother): Reset mother_awake_p before going to sleep.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/ChangeLog.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.1465.2.35&tr2=1.1465.2.36&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/libguile/coop.c.diff?cvsroot=OldCVS&only_with_tag=branch_release-1-6&tr1=1.27&tr2=1.27.4.1&r1=text&r2=text
Patches:
Index: guile/guile-core/libguile/ChangeLog
diff -u guile/guile-core/libguile/ChangeLog:1.1521
guile/guile-core/libguile/ChangeLog:1.1522
--- guile/guile-core/libguile/ChangeLog:1.1521 Fri Oct 5 14:26:46 2001
+++ guile/guile-core/libguile/ChangeLog Fri Oct 5 16:18:30 2001
@@ -1,5 +1,44 @@
2001-10-05 Dirk Herrmann <address@hidden>
+ * options.c (protected_objects, scm_init_options): The content of
+ protected_objects is now protected from garbage collection using
+ scm_gc_register_root instead of scm_permanent_object.
+
+ (get_option_setting): New static function that computes an option
+ setting as it was formerly done in the function scm_options.
+
+ (get_documented_option_setting): New static function that
+ returns option documentation as it was formerly done in the
+ function scm_options. Note that documentation C strings are no
+ longer precomputed into SCM objects. Instead, they are converted
+ into SCM strings every time get_documented_option_setting is
+ called.
+
+ (change_option_setting): New static functions that modifies the
+ option setting as it was formerly done in the function
+ scm_options. The function is now exception safe, i. e. won't
+ cause a memory leak when interrupted. Further, only non-immediate
+ option values are added to the protection list.
+
+ (scm_options): This function now has only the purpose to dispatch
+ to to get_option_setting, get_documented_option_setting or
+ change_option_setting, depending on the arguments given to
+ scm_options.
+
+ (scm_init_opts): Don't convert documentation C strings into SCM
+ strings. Further, don't protect any object values: They _must_
+ be immediate values, otherwise there is no guarantee that they
+ have not been collected before anyway.
+
+ * options.[ch] (scm_t_option): Made type unsigned, name into a
+ constant char* and val into a scm_t_bits type.
+
+ (scm_options, scm_init_opts): The number of options is guaranteed
+ to be larger or equal to zero. Thus, the type is changed to
+ unsigned.
+
+2001-10-05 Dirk Herrmann <address@hidden>
+
* num2integral.i.c (NUM2INTEGRAL): Eliminated some warnings about
testing an unsigned value for being >= 0.
Index: guile/guile-core/libguile/coop.c
diff -u guile/guile-core/libguile/coop.c:1.26
guile/guile-core/libguile/coop.c:1.27
--- guile/guile-core/libguile/coop.c:1.26 Thu Nov 30 05:26:44 2000
+++ guile/guile-core/libguile/coop.c Fri Mar 9 22:09:07 2001
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 Free Software
Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software
Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -40,9 +40,11 @@
* If you do not wish that, delete this exception notice. */
-/* $Id: coop.c,v 1.26 2000/11/30 10:26:44 dirk Exp $ */
+/* $Id: coop.c,v 1.27 2001/03/10 03:09:07 mdj Exp $ */
/* Cooperative thread library, based on QuickThreads */
+
+#include <stdio.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
- guile/guile-core/libguile ChangeLog coop.c,
Mikael Djurfeldt <=