Commit 7552829a authored by Erick Gallesio's avatar Erick Gallesio

Resolve a deadlock when installing STkos

parent e746f859
2006-11-04 Erick Gallesio <eg@essi.fr>
* tests/Makefile.am: make check run the tests now.
* src/thread-pthreads.c (thread-yield!): Changed the non POSIX
call pthread_yield() to the POSIX one sched_yield(). Done already
that in the other sense, but can remeber why. This should resolve
compilation problems on some MacOS X machines.
2006-11-03 Erick Gallesio <eg@essi.fr>
* lib/repl.stk (main-repl): Added the thread system in the
interactive header.
* src/stklos.h: Fixed a problem on mutexes locking. This bug
prevents the compilation od STklos on some architectures.
* utils/stklos-compile.stk: Minor change to avoid a warning
2006-10-28 Erick Gallesio <eg@essi.fr>
* 0.80 release
============================================================
* src/mutex-pthreads.c:
* src/misc.c:
* src/stklos.c:
......
......@@ -2072,7 +2072,7 @@ fi
# Define the identity of the package.
PACKAGE=stklos
VERSION=0.80
VERSION=0.81
cat >>confdefs.h <<_ACEOF
......
......@@ -2,12 +2,12 @@ dnl configure.in for STklos
dnl
dnl Author: Erick Gallesio [eg@unice.fr]
dnl Creation date: 28-Dec-1999 21:19 (eg)
dnl Last file update: 28-Oct-2006 17:22 (eg)
dnl Last file update: 3-Nov-2006 22:35 (eg)
AC_INIT(src/stklos.c)
AC_PREREQ(2.52)
AM_INIT_AUTOMAKE(stklos, 0.80)
AM_INIT_AUTOMAKE(stklos, 0.81)
AM_CONFIG_HEADER(src/stklosconf.h)
AC_PROG_MAKE_SET
......
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<style type="text/css">
<!--
tt { font-family: monospace }
code { font-family: monospace }
-->
</style>
<link href="doc-style.css" rel="stylesheet" type="text/css">
</head>
<body >
<table width='100%' cellpadding='0' cellspacing='0'><tr><td bgcolor="#E6F2E6"><center><h1>STklos Reference Manual<hr align="center" width="10%">Bibliography</h1></center></table><table cellpadding="3" cellspacing="0" width="100%"><tr>
<td align="left" valign="top" width="20%" bgcolor="#E6F2E6">
<br /><table width="97%" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse;" frame="box" rules="none"><tbody>
<tr><th align="center" colspan="2" bgcolor="darkolivegreen"><font color="white">Contents</font></th></tr>
<tr class="navnorm"><td align="center"></td><td align="left"><a href="stklos-ref.html#-document-29879">*Top*</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">1&nbsp;</td><td align="left"><a href="stklos-ref-1.html#Introduction">Introduction</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">2&nbsp;</td><td align="left"><a href="stklos-ref-2.html#Expressions">Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">3&nbsp;</td><td align="left"><a href="stklos-ref-3.html#Program-structure">Program structure</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">4&nbsp;</td><td align="left"><a href="stklos-ref-4.html#Standard-Procedures">Standard Procedures</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">5&nbsp;</td><td align="left"><a href="stklos-ref-5.html#Regular-Expressions">Regular Expressions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">6&nbsp;</td><td align="left"><a href="stklos-ref-6.html#Pattern-Matching">Pattern Matching</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">7&nbsp;</td><td align="left"><a href="stklos-ref-7.html#Exceptions-and-Conditions">Exceptions and Conditions</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">8&nbsp;</td><td align="left"><a href="stklos-ref-8.html#STklos-Object-System">STklos Object System</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">9&nbsp;</td><td align="left"><a href="stklos-ref-9.html#Threads--Mutexes-and-Condition-Variables">Threads, Mutexes and Condition Variables</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">10&nbsp;</td><td align="left"><a href="stklos-ref-10.html#Customizations">Customizations</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">11&nbsp;</td><td align="left"><a href="stklos-ref-11.html#Using-the-SLIB-package">Using the SLIB package</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">12&nbsp;</td><td align="left"><a href="stklos-ref-12.html#SRFIs">SRFIs</a></td></tr>
<tr class="navnorm"><td width="8%" align="left" valign="top">13&nbsp;</td><td align="left"><a href="stklos-ref-13.html#Index">Index</a></td></tr>
<tr class="navsel"><td width="8%" align="left" valign="top">&nbsp;</td><td align="left"><a href="stklos-ref-14.html#Bibliography">Bibliography</a><br /></td></tr>
</tbody></table>
</td>
<td align="left" valign="top">
<table><tbody><tr><td valign="top" align="right">[1] </td><td valign="top" align="left"> -- <a title="http://www-sop.inria.fr/mimosa/fp/Bigloo/" href="http://www-sop.inria.fr/mimosa/fp/Bigloo/"><strong>Bigloo Home Page</strong></a>.</td></tr><tr><td valign="top" align="right">[2] </td><td valign="top" align="left"> -- <a title="http://gtk.org/" href="http://gtk.org/"><strong>The GTK+ Toolkit Home Page</strong></a>.</td></tr><tr><td valign="top" align="right">[3] </td><td valign="top" align="left">Apple Computer -- <strong>Dylan: an Object Oriented Dynamic Language</strong> -- <i>Apple</i>, April, 1992.</td></tr><tr><td valign="top" align="right">[4] </td><td valign="top" align="left">C. Queinnec and J-M. Geffroy -- <strong>Partial Evaluation Applied to Symbolic Pattern Matching with Intelligent Backtrack</strong> -- Workshop in Static Analysis, Bigre, (81--82), Bordeaux (France), September, 1992.</td></tr><tr><td valign="top" align="right">[5] </td><td valign="top" align="left">Chris Hanson -- <a title="http://www.swiss.ai.mit.edu/projects/scheme/documentation/sos.html" href="http://www.swiss.ai.mit.edu/projects/scheme/documentation/sos.html"><strong>The SOS Reference Manual, version 1.5</strong></a> -- March, 1993.</td></tr><tr><td valign="top" align="right">[6] </td><td valign="top" align="left">Erick Gallesio -- <strong>Reference Manual</strong> -- RT 95-31a, I3S CNRS / Universit de Nice - Sophia Antipolis, juillet, 1995, pp. 82.</td></tr><tr><td valign="top" align="right">[7] </td><td valign="top" align="left">Gregor Kickzales -- <a title="ftp://parcftp.xerox.com/pub/openimplementations/tiny" href="ftp://parcftp.xerox.com/pub/openimplementations/tiny"><strong>Tiny-Clos</strong></a> -- December, 1992.</td></tr><tr><td valign="top" align="right">[8] </td><td valign="top" align="left">Gregor Kickzales, Jim de Rivires and Daniel G. Bobrow -- <strong>The Art of Meta Object Protocol</strong> -- <i>MIT Press</i>, 1991.</td></tr><tr><td valign="top" align="right">[9] </td><td valign="top" align="left">Guy L. Steele Jr. -- <strong>Common Lisp: the Language, 2nd Edition</strong> -- <i>Digital Press</i>, 12 Crosby Drive, Bedford, MA 01730, USA, 1990.</td></tr><tr><td valign="top" align="right">[10] </td><td valign="top" align="left">ISO/IEC -- <strong>Information technology, Processing Languages, Document Style Semantics and Specification Languages (DSSSL)</strong> -- 10179:1996(E), ISO, , 1996.</td></tr><tr><td valign="top" align="right">[11] </td><td valign="top" align="left">John K. Ousterhout -- <strong>An X11 toolkit based on the Tcl Language</strong> -- USENIX Winter Conference, January, 1991, pp. 105--115.</td></tr><tr><td valign="top" align="right">[12] </td><td valign="top" align="left">Kelsey, R. and Clinger, W. and Rees, J. -- <a title="http://www.schemers.org/Documents/Standards/R5RS/HTML" href="http://www.schemers.org/Documents/Standards/R5RS/HTML"><strong>The Revised5 Report on the Algorithmic Language Scheme</strong></a> -- Higher-Order and Symbolic Computation, 11(1), Sep, 1998.</td></tr><tr><td valign="top" align="right">[13] </td><td valign="top" align="left">Philip Hazel -- <a title="http://pcre.org/" href="http://pcre.org/"><strong>PCRE (Perl Compatible Regular Expressions) Home page</strong></a>.</td></tr><tr><td valign="top" align="right">[14] </td><td valign="top" align="left">Sho-Huan Simon Tung and R. Kent Dybvig -- <strong>Reliable Interactive Programming with Modules</strong> -- LISP and Symbolic Computation, 91996, pp. 343--358.</td></tr></tbody></table>
</td>
</tr></table><small><hr>This <span style="font-variant: small-caps">Html</span> page has been produced by
<a href="http://www.inria.fr/mimosa/fp/Skribe">Skribe</a>.<br />Last update <em>Sat Oct 28 21:51:53 2006</em></small>
</body>
</html>
......@@ -21,7 +21,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 4-Jun-2000 15:07 (eg)
;;;; Last file update: 20-Jun-2006 19:24 (eg)
;;;; Last file update: 3-Nov-2006 19:04 (eg)
;;;;
;; This file defines the REPL module. This module does not export anything
......@@ -196,7 +196,8 @@ doc>
(when interactive?
(display (do-color
'bold 'green
(format "STklos version ~A\t\t\t[~A]\n" (version) (machine-type))
(format "STklos version ~A\t\t[~A/~A]\n" (version) (machine-type)
(%thread-system))
"Copyright 1999-2006 Erick Gallesio - I3S-CNRS/ESSI <eg@essi.fr>\n"
'normal)
(current-error-port)))
......
;;;;
;;;; runtime.stk -- Stuff necessary for bootstaping the system
;;;;
;;;; Copyright 2001-2002 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;; Copyright 2001-2006 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
;;;;
;;;;
;;;; This program is free software; you can redistribute it and/or modify
......@@ -21,7 +21,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 15-Mar-2001 22:49 (eg)
;;;; Last file update: 26-Oct-2003 23:11 (eg)
;;;; Last file update: 4-Nov-2006 16:45 (eg)
;;;;
......@@ -119,8 +119,8 @@
(define (macro-expand x)
(initial-expander (syntax-expand x) initial-expander))
;;(define (macro-expand* form)
;; (let Loop ((f form) (nf (macro-expand form)))
;; (if (equal? f nf)
;; f
;; (Loop nf (macro-expand nf)))))
(define (macro-expand* exp)
(let ((new (macro-expand exp)))
(if (equal? new exp)
new
(macro-expand* new))))
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -21,7 +21,7 @@
*
* Author: Erick Gallesio [eg@unice.fr]
* Creation date: 28-Dec-1999 22:58 (eg)
* Last file update: 28-Oct-2006 20:09 (eg)
* Last file update: 3-Nov-2006 21:00 (eg)
*/
#ifndef STKLOS_H
......@@ -99,10 +99,11 @@ extern "C"
# define MUT_LOCK(lck)
# define MUT_UNLOCK(lck)
#else
# define MUT_DECL(lck) static pthread_mutex_t lck = PTHREAD_MUTEX_INITIALIZER;
# define MUT_LOCK(lck) pthread_mutex_lock(&lck);
# define MUT_UNLOCK(lck) { pthread_mutex_unlock(&lck); \
pthread_mutex_destroy(&lck); }
# define MUT_DECL(lck) static pthread_mutex_t lck;
# define MUT_LOCK(lck) { pthread_mutex_init(&lck, NULL); \
pthread_mutex_lock(&lck); }
# define MUT_UNLOCK(lck) { pthread_mutex_unlock(&lck); \
pthread_mutex_destroy(&lck); }
#endif
/*===========================================================================*\
......
......@@ -21,11 +21,12 @@
*
* Author: Erick Gallesio [eg@essi.fr]
* Creation date: 23-Jan-2006 12:14 (eg)
* Last file update: 28-Oct-2006 21:42 (eg)
* Last file update: 4-Nov-2006 12:44 (eg)
*/
#include <unistd.h>
#include <sched.h>
#include "stklos.h"
#include "vm.h"
#include "thread-common.h"
......@@ -139,7 +140,7 @@ doc>
*/
DEFINE_PRIMITIVE("thread-yield!", thread_yield, subr0, (void))
{
pthread_yield();
sched_yield();
return STk_void;
}
......
......@@ -2,7 +2,7 @@
*
* v e c t o r . c -- vectors management
*
* Copyright 1993-2005 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
* Copyright 1993-2006 Erick Gallesio - I3S-CNRS/ESSI <eg@unice.fr>
*
*
* This program is free software; you can redistribute it and/or modify
......@@ -22,7 +22,7 @@
*
* Author: Erick Gallesio [eg@unice.fr]
* Creation date: ??? 1993
* Last file update: 25-Apr-2005 14:52 (eg)
* Last file update: 5-Nov-2006 11:27 (eg)
*/
#include <string.h>
......@@ -293,7 +293,7 @@ DEFINE_PRIMITIVE("vector-fill!", vector_fill, subr2, (SCM v, SCM fill))
<doc EXT vector-copy
* (vector-copy v)
*
* Return a copy of vectot |v|. Note that, if |v| is a constant vector,
* Return a copy of vector |v|. Note that, if |v| is a constant vector,
* its copy is not constant.
doc>
*/
......
......@@ -2,10 +2,13 @@
#
# Author: Erick Gallesio [eg@essi.fr]
# Creation date: 23-May-2005 14:52 (eg)
# Last file update: 4-Aug-2005 10:54 (eg)
# Last file update: 4-Nov-2006 12:09 (eg)
all:
@echo "Use \"make test\" for testing STklos."
check: test
test:
@../src/stklos -f do-test.stk
......
......@@ -18,7 +18,7 @@
#
# Author: Erick Gallesio [eg@essi.fr]
# Creation date: 23-May-2005 14:52 (eg)
# Last file update: 4-Aug-2005 10:54 (eg)
# Last file update: 4-Nov-2006 12:09 (eg)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
......@@ -325,6 +325,9 @@ uninstall-am: uninstall-info-am
all:
@echo "Use \"make test\" for testing STklos."
check: test
test:
@../src/stklos -f do-test.stk
......
......@@ -21,7 +21,7 @@
;;;;
;;;; Author: Erick Gallesio [eg@unice.fr]
;;;; Creation date: 4-Dec-2001 18:12 (eg)
;;;; Last file update: 26-Sep-2006 17:42 (eg)
;;;; Last file update: 3-Nov-2006 16:04 (eg)
;;;;
(define *output* "a.out")
......@@ -78,6 +78,13 @@
(flush-output-port out)
(close-port out)))
;; ----------------------------------------------------------------------
;; compile-to-bytecode ...
;; ----------------------------------------------------------------------
(define (compile-to-bytecode file out)
(compile-file file out)
(chmod out #o755))
;; ----------------------------------------------------------------------
;; compile-to-C-code ...
;; ----------------------------------------------------------------------
......@@ -94,13 +101,6 @@
(convert-to-C tmp out name)
(remove-file tmp)))
;; ----------------------------------------------------------------------
;; compile-to-bytecode ...
;; ----------------------------------------------------------------------
(define (compile-to-bytecode file out)
(compile-file file out)
(chmod out #o755))
;; ----------------------------------------------------------------------
;; main ...
;; ----------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment