Commit graph

30 commits

Author SHA1 Message Date
gambas
7d38878e70 Fix GB_Wait() calls as the meaning of its argument changed.
[INTERPRETER]
* BUG: Fix GB_Wait() calls as the meaning of its argument changed.
2022-04-13 02:24:55 +02:00
gambas
7457b4de3f Fix Task.Wait() so that it restores SIGCHLD handler for GTK+ libraries, like Process.Wait().
[INTERPRETER]
* BUG: Fix Task.Wait() so that it restores SIGCHLD handler for GTK+ libraries, like Process.Wait().
* NEW: Task.Wait() now can take an optional timeout argument.
2022-03-09 14:25:22 +01:00
gambas
5d1716aa0f Serialization now does not duplicate objects anymore. Fix Task.Wait().
[INTERPRETER]
* NEW: Serialization now does not duplicate objects anymore. Once an object
  is serialized, if it is encounter again, then it is seralized as a five
  bytes reference.
* BUG: Fix Task.Wait() that incorrectly used 'sleep' instead of 'usleep'.
2022-02-08 22:48:06 +01:00
gambas
135e54e7ab A task does not close its standard outputs anymore when its 'Read' or 'Error' events are not handled.
[INTERPRETER]
* NEW: A task does not close its standard outputs anymore when its 'Read' or 'Error' events are not handled.
2022-01-07 12:41:34 +01:00
gambas
34b543e555 Standard stream objects (File.In, File.Out, File.Err) are now created on demand.
[INTERPRETER]
* NEW: Standard stream objects (File.In, File.Out, File.Err) are now created on demand.
2021-09-18 14:50:39 +02:00
gambas
67d266d79b Call an optional fork helper in each loaded component libraries before starting a task.
[INTERPRETER]
* NEW: Call an optional fork helper in each loaded component libraries before starting a task.
2021-06-05 03:11:54 +02:00
gambas
8668ed5a69 GB.Call() API now works correctly again when calling static methods.
[INTERPRETER]
* NEW: Task.Kill() method is now a synonymous of Task.Stop().
* BUG: GB.Call() API now works correctly again when calling static methods.
2021-03-09 23:01:22 +01:00
gambas
3d956c269c '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
[INTERPRETER]
* NEW: '_read' and '_write' are two new special methods that allow to make any object serializable by the READ and WRITE instructions.
* NEW: Rename macro that convert a Gambas stream object to the internal stream structure and add a macro that does the reverse conversion.
2019-12-21 17:03:42 +01:00
gambas
d6b8c451c9 Raise a more explicit "No return value" error when trying to get the return value of a task that didn't return anything.
[INTERPRETER]
* BUG: Raise a more explicit "No return value" error when trying to get the return value of a task that didn't return anything.
2018-03-14 16:59:57 +01:00
gambas
09a0573e61 Replace my old sourceforge mail address by the new one.
[CONFIGURATION]
Replace my old sourceforge mail address by the new one.
2018-02-12 02:53:46 +01:00
gambas
17834b13a6 Don't call QUIT when terminating a task, it crashes. Just clean up the temporary directory and exit.
[INTERPRETER]
* BUG: Don't call QUIT when terminating a task, it crashes. Just clean up the temporary directory and exit.
2018-01-28 17:57:13 +01:00
gambas
477116942d Tasks do not print memory and objects clean up warnings anymore, and their output serialization file is now automatically destroyed.
[INTERPRETER]
* BUG: Remove the task output serialization file when it is freed.
* BUG: Tasks do not print memory and objects clean up warnings anymore.
2018-01-20 16:43:13 +01:00
gambas
dc9bdcfc87 When a task terminates, it now internally calls the QUIT instruction, so that everything is cleaned up.
[INTERPRETER]
* BUG: When a task terminates, it now internally calls the QUIT instruction, so that everything is cleaned up.
2018-01-19 01:56:13 +01:00
gambas
aa67ba1309 Rework the stream interface, so that the stream read & write methods just have to actually read or write the data.
[INTERPRETER]
* NEW: Rework the stream interface, so that the stream read & write methods just have to actually read or write the data.
2017-09-27 02:48:00 +02:00
Benoît Minisini
b225eba20f [CONFIGURATION]
* NEW: Update copyright year in all source files.


git-svn-id: svn://localhost/gambas/trunk@8056 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-13 03:29:42 +00:00
Benoît Minisini
6950a075f0 [INTERPRETER]
* BUG: Tasks do not inherit signal handler pipe anymore, they recreate it instead. Otherwise you have interferences with the parent process of the task, and some signals are lost.
* BUG: Buffered streams now take the internal stream flag "available_now" into account. No idea why that was disabled.
* BUG: Standard streams now set the internal stream flag "available_now" if they are not connected to a terminal. Which may not be necessarily accurate, so it is a temporary change.


git-svn-id: svn://localhost/gambas/trunk@8052 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2017-01-11 16:57:44 +00:00
Benoît Minisini
614e483598 [INTERPRETER]
* BUG: Task now ends with by calling _exit() instead of exit(). Because
  exit() calls the terminator of each loaded shared libraries, and that
  sometimes crashes.


git-svn-id: svn://localhost/gambas/trunk@7320 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-09-18 00:37:15 +00:00
Benoît Minisini
253093035e [INTERPRETER]
* NEW: The Task return value is now persistent (it is stored inside the 
  Task object).


git-svn-id: svn://localhost/gambas/trunk@6857 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2015-01-23 00:52:18 +00:00
Nigel Gerrard
e0b9fc1eac [CONFIGURATION]
* BUG: Set Cygwin Shared Library Extension to dll

[GB.JIT]
* NEW: Add conditional defines for Cygwin to allow compile:
  Use finite in place of _finite, __isnand in place of __isnan
  and __isinfd in place of __isinf.

* NEW: Remove jit_gambas_pass_dummy.cpp as this is no longer
  required to compile with later versions of llvm. Also fixes
  issue with Cygwin compile.

[GB.NET]
* NEW: Redefine TIOCOUTQ for Cygwin

[GB.SDL.SOUND]
* NEW: -lSDL needed for Cygwin linker

[INTERPRETER]
* NEW: Redefine FIONREAD for Cygwin

* NEW: Cygwin needs <strings.h> to avoid compiler issues when
  redefining strcasecmp etc.
 
[DEVELOPMENT ENVIRONMENT]
* NEW: Make the environment Cygwin aware



git-svn-id: svn://localhost/gambas/trunk@6435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-28 13:50:09 +00:00
Benoît Minisini
705f96cdde [INTERPRETER]
* BUG: Disable profiling for forked tasks.


git-svn-id: svn://localhost/gambas/trunk@6421 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-22 19:31:51 +00:00
Benoît Minisini
22f53573c0 [INTERPRETER]
* BUG: A new Task now resets the state of its standard output stream to 
  avoid side effects from its parent.


git-svn-id: svn://localhost/gambas/trunk@6412 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-08-01 20:29:01 +00:00
Benoît Minisini
e7f4c0967f [INTERPRETER]
* BUG: Task.Stop now behaves correctly if the task has not been yet 
  actually started.
* NEW: Stopped task temporary files are automatically removed.


git-svn-id: svn://localhost/gambas/trunk@5861 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-09-29 20:54:47 +00:00
Benoît Minisini
c9ca5ab982 [CONFIGURATION]
* NEW: Update copyright year to 2013.

[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a 
  scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
  a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.


git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-08-03 15:38:01 +00:00
Benoît Minisini
45c481c1b4 [EXAMPLES]
* NEW: The Fractal example now uses eight background tasks to draw the 
  fractal.

[GB.IMAGE]
* NEW: Image.Pixels is a new property that allows to return the image 
  pixels as an integer array, and to set the image pixels from an integer
  array.


git-svn-id: svn://localhost/gambas/trunk@5687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-05-30 21:16:09 +00:00
Benoît Minisini
165be4a66a [INTERPRETER]
* NEW: Clean up object referencement macros.


git-svn-id: svn://localhost/gambas/trunk@5601 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2013-03-30 13:51:10 +00:00
Benoît Minisini
505cd02a5f [INTERPRETER]
* BUG: Disable the component specific event loop when starting a task. No
  way that any GUI works in a background task now, but I can't disable it
  automatically.


git-svn-id: svn://localhost/gambas/trunk@5107 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-31 19:56:41 +00:00
Benoît Minisini
1ab3b111c5 [INTERPRETER]
* BUG: Handle errors occuring while waiting for a process correctly now.
* NEW: Process.Wait() now can take an optional timeout argument, in 
  milliseconds.
* BUG: Handle errors occuring while waiting for a task correctly now.


git-svn-id: svn://localhost/gambas/trunk@5102 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 22:49:21 +00:00
Benoît Minisini
f3f10a4167 [DEVELOPMENT ENVIRONMENT]
* BUG: Notes (TODO:, FIXME:, NOTE:) can be used in comments beginning with
  two quotes.

[INTERPRETER]
* BUG: Fix possible recursion problems while freeing signal handlers.
* BUG: The output of a process is sometimes woke up ready to read whereas 
  there is nothing to read on it. Close the output immediately instead of 
  calling the callback again and again.
* BUG: Try to handle correctly errors raised during the Kill event of a
  background task. It does not work yet. :-(
* NEW: Task.Running is a new property that returns if a background task is
  running.

[GB.NET]
* NEW: Add Net.CannotAuthenticate error constant for gb.net.pop3.

[GB.NET.POP3]
* BUG: Big interface clean-up so that it matches other networking classes.
* NEW: Add a Pop3Client.Debug property. Not all "Debug" instructions have 
  been replaced yet.
* NEW: The default value of the Port property is zero now. It is 
  automatically converted to 110 or 995 according to the encryption method.
* NEW: Use the Net class for Pop3Client.Status instead of specific 
  constants.
* NEW: Rename the _PopMessage virtual class in _Pop3Client_Message to 
  follow the standard naming scheme that the wiki loves.


git-svn-id: svn://localhost/gambas/trunk@5101 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-30 22:13:25 +00:00
Benoît Minisini
c2764bc3f8 [COMPILER]
* BUG: Fix compilation of WebPage having UTF-8 characters inside.

[INTERPRETER]
* BUG: A background task automatically closes the file descriptor of every 
  other tasks.
* BUG: A task cannot create sub-tasks.
* NEW: There is an hard limit of simultaneous 256 background tasks now. 
  That should prevent fork bombing.
* BUG: Process.Kill does not try to wait for the task completion, and 
  return immediately.
* BUG: Fix events flushing at task termination.

[GB.EVAL.HIGHLIGHT]
* BUG: Fix WebPage highlighting.

[GB.WEB]
* BUG: The session cookie is now only accessible to the current CGI script.
* NEW: Response.SendFile() can set the content-type according to the file
  extension, if no content-type has been specified.


git-svn-id: svn://localhost/gambas/trunk@5096 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-29 00:43:48 +00:00
Benoît Minisini
1741274a34 [INTERPRETER]
* NEW: Task.Value now raises an error if the background task has failed for
  any reason. Otherwise it normally returns the background task return 
  value.
* BUG: Background tasks do not interfere with the debugger anymore.

[GB.TASK]
* NEW: The component has been moved inside the interpreter.


git-svn-id: svn://localhost/gambas/trunk@5081 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-26 16:26:53 +00:00