version 1.19, 2010/04/20 12:49:17
|
version 1.35, 2010/07/25 18:15:36
|
Line 1
|
Line 1
|
* Tue Apr 20 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.14 (RPL/2) |
* Tue Jul 13 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.18 (RPL/2) |
|
- major bug is fixed in global variable creation subroutine. When a global |
|
variable was created and when a local variable existed with the same name, |
|
computed address of global variable was wrong; |
|
- src/Makefile.am is modified to avoid a bug on several systems. libptmalloc3 |
|
is forced in front of all libraries. |
|
* Tue Jul 13 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.17 (RPL/2) |
|
- BACKTRACE intrinsic is added; |
|
- major bug is fixed in SELECT/DEFAULT/END conditional structure. Only occurs |
|
when this structure is included in IFERR/THEN/END structure and when an error is |
|
caught; |
|
- major bug is fixed in analyse() subroutine. When evaluation() returned error |
|
in a compiled program, analyse() caught this error twice and randomly aborted |
|
with a segmentation error; |
|
- TRIM and TOKENIZE replace both '\n' and '\t' by regular spaces; |
|
- ATEXIT subroutine begins with an implicit CSTOP to avoid multiple stop |
|
signals; |
|
- memory leak is fixed in ROW+. It only occurs when a row is added to an empty |
|
matrix. |
|
* Thu Jun 24 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.16 (RPL/2) |
|
- minor bug is fixed in evaluation() subroutine. With this patch, same program |
|
returns same result with or without -p flag; |
|
- ncurses 5.7 is upgraded to 20100619; |
|
- openssl is upgraded to 1.0.0a; |
|
- interrupt stacks are now FIFO instead of LIFO; |
|
- debug memory allocation subroutines are improved to run in multithreaded |
|
programs; |
|
- some memory leaks are fixed in process management (SPAWN and DETACH); |
|
- version verification is added to shared objects; |
|
- -D_GNU_SOURCE is added to ptmalloc3 makefile to avoid a major bug on 64 bits |
|
linux (false mremap() prototype); |
|
- major bug is fixed in rpliconv. getc() returns an int, not a unsigned char. |
|
* Sun May 23 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.15 (RPL/2) |
|
- all '-' are replaced by '_' in random generator list; |
|
- minor memory leak is fixed in OPEN intrinsic (socket); |
|
- major bug is fixed in IFERR structure. Only occurs in compiled program; |
|
- major bug is fixed in copie_objet() and liberation(). Only concerns |
|
format in FCH (file descriptor) and SCK (socket descriptor); |
|
- debug routines are improved; |
|
- PROCID is added; |
|
- MEMLOCK and MEMUNLOCK are added. MEMLOCK forces a process to remain in memory |
|
and to not use swap; |
|
- major bug is fixed in sql support. SQL connections were closed in all chield |
|
process; |
|
- standard allocator (malloc()/free()) is replaced by ptmalloc3 due to some bugs |
|
discovered in Solaris thread safe allocators (libmalloc and libumem) that |
|
are first fit class allocators. Solaris libmtmalloc works better and is |
|
a best fit class allocator but its performance is poor than ptmalloc3 |
|
performance; |
|
- major bug is fixed in ROW+ intrinsic (new row was not added where it |
|
should); |
|
- minor bugs are fixed in interruptions.c (semaphores values when error is |
|
caught); |
|
- major bug is fixed in STOP intrinsic. STOP was unable to stop any process |
|
created by SPAWN; |
|
- SIGFABORT is added. When process receives SIGFSTOP, it tries to execute |
|
ATEXIT. If it receives SIGFABORT, it does not; |
|
- ONEXIT is renamed in ATEXIT; |
|
- ONEXIT new intrinsic is added. |
|
* Wed Apr 21 2010 BERTRAND Joël <rpl@systella.fr> rpl-4.0.14 (RPL/2) |
|
- major bug is fixed in static and shared variables initialization subroutine. |
|
This bug only occurs when RPL/2 tries to create a shared or static variable |
|
from an expression; |
|
- major bug is fixed in copie_etat_processus(). A field that contains |
|
information about shared variable was not copied to new processus structure; |
- some little memory leaks are fixed in evaluation(), recherche_type() and |
- some little memory leaks are fixed in evaluation(), recherche_type() and |
sequenceur(). They only occured when syntax error were caught; |
sequenceur(). They only occured when syntax error were caught; |
- IMPLICIT causes execution error instead system error; |
- IMPLICIT causes execution error instead system error; |