Commit Graph

674 Commits

Author SHA1 Message Date
Jonas Maebe
123362235b * use initc.fpgetCerrno rather than fpgeterrno to get the errno
results of the sem_* routines (since those always come from libc/
    libpthread)

git-svn-id: trunk@8266 -
2007-08-12 08:29:48 +00:00
Jonas Maebe
4457538435 * explicitly unmask SIGSEGV, SIGILL, SIGBUS and SIGFPE at the start
of a new thread (should fix #9073)

git-svn-id: trunk@8265 -
2007-08-11 20:59:37 +00:00
Jonas Maebe
ce86cedd4d * return wrAbandoned rather than wrError from IntbasiceventWaitFor
in case a sleep is interrupted while the event is being destroyed

git-svn-id: trunk@8260 -
2007-08-11 08:13:36 +00:00
Jonas Maebe
ef801ba3a3 * check once more whether we can lock after we've waited
for the entire timeout in IntbasiceventWaitFor

git-svn-id: trunk@8259 -
2007-08-11 08:07:44 +00:00
Jonas Maebe
494fb81dd8 * fixed semaphore implementation based on file handles (select needs
file descriptor + 1 as first parameter, select can also be EIntr)
  * changed IntbasiceventWaitFor (used by syncobjs) so it can emulate
    timeouts (using a loop and short sleeps) (mantis #9414)
  * also added wrAbandoned support to IntbasiceventWaitFor
  * enhanced tbrtlevt.pp to test new functionality

git-svn-id: trunk@8257 -
2007-08-10 20:20:44 +00:00
Jonas Maebe
fd98a0cc5b * don't call runerror if a unix threading error occurs (because this
immediately terminates the whole application), but instead call
    handleerrorframe (which can be converted into an exception) (#7954)

git-svn-id: trunk@8248 -
2007-08-08 13:59:17 +00:00
Jonas Maebe
f3a00b0731 * cache result of GetThreadManager in InitThreads
git-svn-id: trunk@8245 -
2007-08-08 11:33:54 +00:00
Károly Balogh
bee56abb78 - dec(comment_typos,2);
git-svn-id: trunk@8130 -
2007-07-22 10:22:26 +00:00
daniel
354cd09f31 * long double=double on powerpc-linux
* educated guess this is the case on arm-linux as well
  * temporary change: do not alias clongdouble from unixtype into ctypes to prevent
    having to work in two places.

git-svn-id: trunk@8127 -
2007-07-22 10:04:48 +00:00
micha
dd350255a4 * print thread handle unsigned in unix thread debug info
git-svn-id: trunk@8094 -
2007-07-18 20:14:48 +00:00
micha
721ae51cd0 * dump stack when thread terminates because of exception (unix)
git-svn-id: trunk@8093 -
2007-07-18 20:13:39 +00:00
Almindor
5baca0cfd3 * fix IPC for FPC_USE_LIBS
* fix shmget to use size_t as per manpage
* directly use external, don't depend on ipccdecl.inc (may be removed if confirmed)

git-svn-id: trunk@7973 -
2007-07-07 09:13:23 +00:00
daniel
0c3a2a257d * Convert heap to ptruint.
git-svn-id: trunk@7950 -
2007-07-04 19:46:47 +00:00
Jonas Maebe
0d8594a705 * made cwstring thread safe without locks + test (twide4): widestring
manager now has two extra parameterless procedures (ThreadInitProc
    and ThreadFiniProc) which are called whenever a thread begins/ends,
    and cwstring uses these to create separate iconv handles for
    each thread (via threadvars)
  * renamed UCS4 to UCS-4BE/LE, because UCS4 is not recognised by most
    systems
  * clean up all iconv handles on exit, and check whether they are
    valid before doing so

git-svn-id: trunk@7949 -
2007-07-04 18:10:34 +00:00
daniel
f77150fa71 * Fix another bug found by new hint.
git-svn-id: trunk@7819 -
2007-06-26 08:24:09 +00:00
marco
58e3f8ad0d * more deprecated fixes
git-svn-id: trunk@7718 -
2007-06-17 20:31:08 +00:00
marco
0ef2cb0b02 * fixed deprecated
git-svn-id: trunk@7717 -
2007-06-17 20:29:33 +00:00
Jonas Maebe
7b47ebff6b * removed Darwin/Solaris-specific code and fixed all issues by calling
setlocale(LC_ALL,'') per POSIX, which initialises the langinfo stuff
    based on the environment variables (some OS'es do that automatically,
    but at least Darwin and Solaris don't)

git-svn-id: trunk@7672 -
2007-06-15 18:51:06 +00:00
micha
3e97c6b324 * fix cwstring compilation: remove extra "}"
git-svn-id: trunk@7661 -
2007-06-14 14:45:19 +00:00
Jonas Maebe
6111e3e2b9 * also force utf-8 on Solaris, nl_langinfo(CODESET) doesn't work there
either and utf-8 is also its default "international" encoding

git-svn-id: trunk@7660 -
2007-06-14 10:56:29 +00:00
Jonas Maebe
8523bdc831 * force utf-8 for darwin
git-svn-id: trunk@7644 -
2007-06-13 12:59:39 +00:00
Jonas Maebe
172f85c8c3 * fixed important typo in better comments :)
git-svn-id: trunk@7618 -
2007-06-09 20:37:26 +00:00
Jonas Maebe
e93d612f4a * fixed FFreeOnTerminate handing in destructor + better comments
git-svn-id: trunk@7617 -
2007-06-09 20:36:35 +00:00
Jonas Maebe
4dd3be0e5a * return thread function result via pthread_exit() from CBeginThread
(Vinzent Hoefler)
  * simplified CWaitForThreadTerminate based on comments from Vinzent
    Hoefler
  * fixed resource leaks where in some cases a pthread would not be
    reaped based on comments from Vinzent Hoefler (resolves #9016)

git-svn-id: trunk@7588 -
2007-06-06 15:18:48 +00:00
Jonas Maebe
526a79a3c6 * disable thread suspension from another thread under *nix, see added
comments in cthreads.pp why

git-svn-id: trunk@7551 -
2007-06-02 11:39:59 +00:00
marco
08d10efb9f * now also fixes div hz with hz=0 for Linux, and reenables it for FreeBSD. Still needs phys console check though
git-svn-id: trunk@7489 -
2007-05-27 12:00:55 +00:00
Jonas Maebe
d1f7be8c7b * disabled sound/nosound for non-Linux, as the used ioctl is
Linux-specific (and at least under Mac OS X, there seems to be
    no way to play sound without going via the Carbon/Quicktime/...
    frameworks)

git-svn-id: trunk@7488 -
2007-05-27 11:11:13 +00:00
Jonas Maebe
399ab249d6 * initialise/finalise critical section
git-svn-id: trunk@7455 -
2007-05-24 12:24:45 +00:00
Jonas Maebe
7e3b792713 * fixed for solaris:
* iconv is in libc for solaris
    * use official names for unicode encodings (UTF-16BE/UTF-16LE instead
      of unofficial UNICODEBIG/UNICODELITTLE aliases, which are not supported
      by solaris' iconv)

git-svn-id: trunk@7452 -
2007-05-24 11:38:07 +00:00
peter
dd3fdac68e * beos support from Olivier Coursiere
git-svn-id: trunk@7443 -
2007-05-24 07:16:17 +00:00
Jonas Maebe
3ab9ace8c4 * implement CThreadSwitch using sched_yield()
git-svn-id: trunk@7429 -
2007-05-23 13:38:20 +00:00
micha
7f2a257102 + heap manager now per thread, reduce heap lock contention
+ heap threading test

git-svn-id: trunk@7407 -
2007-05-20 20:58:12 +00:00
micha
6ec55d2e74 * fix heap mutex deadlock in case of runtime error within heap management (needs recursive heap mutex)
git-svn-id: trunk@7337 -
2007-05-14 21:09:16 +00:00
marco
8991b8f365 * new socketerror scheme. OS/2 and netware are now broken and still must be done. (merge me and all previous socket related commits please)
git-svn-id: trunk@7327 -
2007-05-13 18:30:24 +00:00
marco
11bda8f5f2 * fpexeclpe
git-svn-id: trunk@7309 -
2007-05-11 15:08:38 +00:00
marco
e074f9383c * typo corrected
git-svn-id: trunk@7271 -
2007-05-05 10:19:44 +00:00
marco
699e231223 * more cleanup of unit unix (merge)
git-svn-id: trunk@7269 -
2007-05-04 22:39:28 +00:00
marco
fd6f6cf7e9 * fix for 8801. mmap constants inconsistancy. Old constants are aliased for compat. non portable moved to OS specific units (merge)
git-svn-id: trunk@7265 -
2007-05-04 21:23:02 +00:00
marco
b8c21889f9 * bug #8807, PRIO_ constants not aliased to baseunix _merge_
git-svn-id: trunk@7264 -
2007-05-04 19:16:11 +00:00
Jonas Maebe
065b9c39f7 * fixed compilation
git-svn-id: trunk@7256 -
2007-05-04 08:26:38 +00:00
daniel
41d171bda0 - Comment out duplicate entries (F11/F12 <--> Shift+F1/F2)
git-svn-id: trunk@7254 -
2007-05-03 22:54:12 +00:00
marco
4ba29cdbe1 * first set of deprecated tags.
git-svn-id: trunk@7199 -
2007-04-29 22:08:18 +00:00
florian
572608a64f * fixed ipc for 32 bit systems
git-svn-id: trunk@7073 -
2007-04-07 18:42:01 +00:00
florian
d90bc77a54 * fixed several type declarations
git-svn-id: trunk@7071 -
2007-04-07 18:23:03 +00:00
florian
0c889207ca * fixed ipc syscalls and data structures for x86-64, resolves #8616
git-svn-id: trunk@7070 -
2007-04-07 18:00:05 +00:00
Almindor
02702d199f * fix typo in ESock[s]errors
git-svn-id: trunk@7030 -
2007-03-29 20:51:10 +00:00
Almindor
ed8e6b71e3 * add common socket error constants to all platforms/socket.pp
git-svn-id: trunk@7022 -
2007-03-29 19:29:04 +00:00
micha
3a1b633325 + revive generics based tfplist/tstringlist implementation for generics testing; build with FPC_TESTGENERICS
git-svn-id: trunk@7001 -
2007-03-25 19:19:04 +00:00
daniel
5acd85f447 * Revert 6964
git-svn-id: trunk@7000 -
2007-03-25 17:55:47 +00:00
daniel
8127fb7a05 * Switch to classic field names to prevent further messing with compatibility.
git-svn-id: trunk@6964 -
2007-03-23 22:35:12 +00:00