Commit Graph

642 Commits

Author SHA1 Message Date
chrivers
b8e514c466 * Cleaned up keyword-case style ("FUnction" => "function", etc)
git-svn-id: trunk@5707 -
2006-12-25 12:37:26 +00:00
chrivers
9fa75157ce + Added MAP_FAILED const for all unix platforms
git-svn-id: trunk@5705 -
2006-12-25 12:23:28 +00:00
chrivers
ed72c61524 + Added dl_info record
+ Added dladdr() prototype
 + Added RTLD_DEFAULT const for BSD and LINUX
 + Added RTLD_NEXT for all platforms

git-svn-id: trunk@5704 -
2006-12-25 12:22:19 +00:00
Jonas Maebe
652d331922 * fixed 64 bit compilation
git-svn-id: trunk@5680 -
2006-12-22 16:50:09 +00:00
Jonas Maebe
cf4b3f2e4d * don't destroy fsem in tthread.destroy before its potential last use
git-svn-id: trunk@5678 -
2006-12-22 14:53:54 +00:00
Jonas Maebe
4cbbfd7f5c * set FSuspended also if a tthread is suspended by an external thread
on unix
  * fixed some dataraces in unix' suspend/resume (although they can't
    be solved completely due to no possibility to atomically
    suspend/resume and set fsuspended at the same time)

git-svn-id: trunk@5677 -
2006-12-22 14:49:49 +00:00
Jonas Maebe
1867a46f34 - disabled fix for mantis 6693 from r5662 since the fix itself also
contains a race condition

git-svn-id: trunk@5670 -
2006-12-21 23:11:35 +00:00
Jonas Maebe
96b379ab0b * fixed initial suspending bug in r5662
git-svn-id: trunk@5668 -
2006-12-21 21:51:41 +00:00
Jonas Maebe
0c3afc0cf4 + implementation of cSemaphore* and BasicRTLEvent based on
sem_open/sem_close for Darwin (doesn't have sem_init/sem_destroy)
  + implementation of cSemaphore* based on pipes (for potential future
    systems that don't have either sem* routines)
  + test for basicrtlevent
  * fixed datarace whereby a TThread could be started, run and exit before
    TThread.AfterConstructor had been called (Mantis 6693, all platforms)
  * throw EThread exceptions in TThread.create if something during creating
    the tthread goes wrong (*nix)
  * don't crash in TThread.Destroy if the TThread throws an exception before
    it was fully initialised (*nix)
  * changed order of operations in TThread.Destroy so it doesn't perform
    invalid thread operations in some edge cases (*nix)
  * fixed usage of sem_wait/sem_trywait (can be interrupted) in Semaphore
    and RTLEvent implementations
  * fixed erroneous waiting for threads after they had already exited via
    pthread_detach/pthread_exit
  * fixed several memory leaks in case of thread intialisation errors
    (*nix)
  * unified tthread.inc for all Unices

git-svn-id: trunk@5662 -
2006-12-21 18:22:47 +00:00
michael
fa28889633 * Reverted dependency on fgl generics unit. fgl itself remains untouched.
git-svn-id: trunk@5651 -
2006-12-19 19:53:21 +00:00
micha
b1c1b6fd3d + generic implementation of list and map; adapt TList/TStringList to use it
git-svn-id: trunk@5624 -
2006-12-17 15:52:42 +00:00
Jonas Maebe
87a4372d7f * enable vfork for solaris
git-svn-id: trunk@5557 -
2006-12-08 10:20:38 +00:00
daniel
598cf9fcf0 + Add shortstring version of system().
git-svn-id: trunk@5495 -
2006-11-26 18:40:19 +00:00
michael
285e02ba83 * Fix to be able to allocate threadvars when code outside FPC creates a thread
git-svn-id: trunk@5474 -
2006-11-25 14:53:53 +00:00
daniel
76cf70bdbd * Use proper critical sections.
- Remove sysutils dependency by turning exception into runerror, which is
    converted into exception anyway if user decides to use sysutils.

git-svn-id: trunk@5471 -
2006-11-25 07:32:36 +00:00
Jonas Maebe
eb411035eb * fixed range errors
git-svn-id: trunk@5315 -
2006-11-10 20:45:59 +00:00
daniel
610cf1e2da * Fix reversed home/end.
git-svn-id: trunk@5297 -
2006-11-09 14:47:43 +00:00
Jonas Maebe
edafc80d8c * use pthread_kill() for Suspend/Resume in cthreads
git-svn-id: trunk@5280 -
2006-11-07 21:40:58 +00:00
Jonas Maebe
4240479f5d * fixed datarace in CBeginThread
git-svn-id: trunk@5274 -
2006-11-07 14:05:09 +00:00
marco
ed5e73b9a3 * reenabled the old getdir code when fpgetcwd was not FPC_USE_LIBC. getcwd
syscalls can fail, specially on special file systems.

git-svn-id: trunk@5262 -
2006-11-05 22:03:37 +00:00
micha
0043aff24d * fix linux/sysutils 64 bit file handling: make off_t 64 bit
git-svn-id: trunk@5152 -
2006-11-01 16:32:12 +00:00
Jonas Maebe
e4acf70c58 * fixed fplseek declaration for linux
git-svn-id: trunk@5145 -
2006-11-01 12:32:40 +00:00
micha
9238003e4f + 64 bit file support for linux
git-svn-id: trunk@5116 -
2006-10-31 11:20:21 +00:00
florian
4626f2c489 * NetBSD rtl compiles again
git-svn-id: trunk@5049 -
2006-10-28 22:17:49 +00:00
marco
dd7f715405 * FreeBSD fixes
git-svn-id: trunk@4994 -
2006-10-21 13:16:56 +00:00
daniel
ce3bfabfe6 - Remove unused sysutils dependency.
git-svn-id: trunk@4965 -
2006-10-18 20:10:02 +00:00
marco
449ba0b47b * reverted march fix from Florian that stops exporting pthread* types.
git-svn-id: trunk@4926 -
2006-10-15 15:20:57 +00:00
Almindor
2ee7e64a4a * adds semaphore support to ThreadManager, removes pipe hack from non linux
+ adds SemaphoreInit, SemaphorePost, SemaphoreWait and SemaphoreDestroy to TM

git-svn-id: trunk@4900 -
2006-10-14 11:39:47 +00:00
marco
94e0b66d0a * fix for popen brokenness
git-svn-id: trunk@4894 -
2006-10-13 22:29:08 +00:00
micha
0c5124c295 * fix compilation of sysutils, partly revert patch from peter which was a modified version of my patch
git-svn-id: trunk@4863 -
2006-10-11 18:19:06 +00:00
peter
d9bcee0cbe * don't allocate unixfinddata if we search only one file, patch from neli
git-svn-id: trunk@4855 -
2006-10-11 07:04:45 +00:00
Almindor
d107c6649c * fixes a findfirst bug (thanks to jesusrmx)
git-svn-id: trunk@4807 -
2006-10-05 20:28:53 +00:00
micha
d704af7216 fix compilation for {$T+} linux/win
git-svn-id: trunk@4794 -
2006-10-04 20:43:55 +00:00
Almindor
57d5ce9713 * some unix changes mainly on freeBSD and fix to MAXPATHLEN constant
+ added kld* syscalls for freeBSD (tested)
  + changed "directives" macro for freeBSD unit to "extdecl" for Lazarus
  + changed MAXPATHLEN from 255 (wrong on all unices known to fpc since 1993) to 1024 for non-linux and 4096 for linux as per source code (2.4+ for linux, 1993 BSD for BSDs, Solaris 10)

git-svn-id: trunk@4779 -
2006-10-03 20:35:07 +00:00
peter
25fe773e25 * FindFirst/FindNext replaced with optimized versions based on the
code in the dos unit.

git-svn-id: trunk@4772 -
2006-10-02 21:06:50 +00:00
ivost
23e1ebb357 -ctypes cleanup, it was quite a mess with naming conventions, eg. some times shortened long to l like cldouble
-long is written out now, while signed and unsigned are shortened to s and u

git-svn-id: trunk@4647 -
2006-09-18 21:41:08 +00:00
florian
78d5ba9ff0 * extended ctypes by Aison
git-svn-id: trunk@4622 -
2006-09-15 21:03:50 +00:00
Jonas Maebe
7522d8d967 * fixed sparc alignment issues with popen/pclose
git-svn-id: trunk@4346 -
2006-08-04 13:07:01 +00:00
Jonas Maebe
2b98aa8005 + CODESET for solaris
git-svn-id: trunk@4335 -
2006-08-03 15:36:13 +00:00
micha
d0e0ef3d8c 2.0.4: pthread_cond_timedwait needs absolute time (from crossbuilder, issue #7196)
git-svn-id: trunk@4296 -
2006-07-25 20:34:20 +00:00
daniel
e357dc5cf0 + Add rxvt keyboard sequences by Micha
git-svn-id: trunk@4268 -
2006-07-20 21:28:05 +00:00
michael
497abf8f5d + Several improvements by Martin Schreiber
git-svn-id: trunk@4246 -
2006-07-17 19:52:00 +00:00
Jonas Maebe
9e801eb048 * removed/conditionalised several unused variables
git-svn-id: trunk@4199 -
2006-07-14 20:44:57 +00:00
florian
e92cc059a7 * fixed previous commit
git-svn-id: trunk@3949 -
2006-06-25 20:37:14 +00:00
florian
f32b1ccbe0 + cwstring multithreading safe, fixes #6873
git-svn-id: trunk@3948 -
2006-06-25 20:17:32 +00:00
micha
2bd88e3406 read timezone file optimization
git-svn-id: trunk@3907 -
2006-06-21 09:26:17 +00:00
michael
dc0e8428a6 + Fixed rights parameter in TFileStream.Create and FileCreate
git-svn-id: trunk@3862 -
2006-06-13 22:01:49 +00:00
daniel
4a3248bc08 + Correct behaviour when initialization fails.
git-svn-id: trunk@3841 -
2006-06-11 09:00:19 +00:00
michael
e73bc0b772 + Made AddDisk a function, returning the current number of drives.
git-svn-id: trunk@3816 -
2006-06-06 20:54:21 +00:00
michael
305e4142ff + Fixed FileGetAttr so hidden is correctly detected
git-svn-id: trunk@3790 -
2006-06-04 14:18:55 +00:00
daniel
aa93e6a11e * Fix window resizing in X.
git-svn-id: trunk@3767 -
2006-06-02 20:46:46 +00:00
Tomas Hajny
a9b515c0bf * fexpand defines kept in platform specific sysutils.pp
git-svn-id: trunk@3726 -
2006-05-28 21:29:26 +00:00
daniel
cb1b6419ed * Set standard I/O line ending to #13#10 when keyboard in raw mode.
git-svn-id: trunk@3698 -
2006-05-27 16:42:47 +00:00
peter
da85b3db8c * fix linux build
git-svn-id: trunk@3626 -
2006-05-22 06:57:41 +00:00
daniel
ae740894a3 * Inline on in classes
git-svn-id: trunk@3507 -
2006-05-13 20:12:51 +00:00
marco
416e55c49c * IPC_PRIVATE now also for Linux
git-svn-id: trunk@3489 -
2006-05-13 10:51:48 +00:00
daniel
ce3ce89028 * Prevent range check error when compiling with -Cr
git-svn-id: trunk@3470 -
2006-05-10 16:26:37 +00:00
daniel
111fc2ca42 * Codepage code had a bug
git-svn-id: trunk@3434 -
2006-05-06 18:39:32 +00:00
Jonas Maebe
a6863b49e1 * fixed compilation on non-Linux
git-svn-id: trunk@3393 -
2006-04-30 20:51:02 +00:00
daniel
469789071d * Make hack uglier, so it works better.
git-svn-id: trunk@3374 -
2006-04-29 21:43:37 +00:00
daniel
111b588950 * Another xterm hack :(
git-svn-id: trunk@3367 -
2006-04-29 18:33:51 +00:00
daniel
faa8f2354b * Force VGA colours, regardless of xterm background colour.
git-svn-id: trunk@3346 -
2006-04-27 21:00:46 +00:00
daniel
b03ab6296f * Fix exiting acs after screen update
git-svn-id: trunk@3345 -
2006-04-27 20:15:57 +00:00
micha
7911be08f5 add signal handler trampoline return for buggy OS like fedora core
git-svn-id: trunk@3311 -
2006-04-21 20:36:17 +00:00
daniel
06ff7b5fd6 * Conversion tables for video unit.
git-svn-id: trunk@3244 -
2006-04-17 13:01:02 +00:00
daniel
f009b5700a * Unix video unit character set conversion overhaul
git-svn-id: trunk@3243 -
2006-04-17 12:39:02 +00:00
daniel
e93081c0d0 * More video improvements
git-svn-id: trunk@3103 -
2006-04-01 10:24:22 +00:00
daniel
147716b74d * Fix xterm detection
git-svn-id: trunk@3102 -
2006-04-01 08:21:11 +00:00
Almindor
e57abdf05f * experimental usage of fpgetcwd in osdir.inc
git-svn-id: trunk@2961 -
2006-03-19 09:46:58 +00:00
florian
a2f4e33bda * fixed solaris compilation
git-svn-id: trunk@2955 -
2006-03-18 17:17:16 +00:00
Jonas Maebe
7d88ba2831 * shell() now also uses vfork() instead of fork() on Darwin
git-svn-id: trunk@2930 -
2006-03-15 22:00:58 +00:00
florian
246eb14e95 * fixed widestring lib on solaris
git-svn-id: trunk@2882 -
2006-03-12 10:09:41 +00:00
daniel
d772104ce7 * Send escape code to xterm to make alt+key send an escape prefix.
git-svn-id: trunk@2777 -
2006-03-05 22:00:20 +00:00
daniel
08bf4afa30 * Add extra sequences for FreeBSD xterm
git-svn-id: trunk@2761 -
2006-03-05 18:27:17 +00:00
marco
6f0e817973 * pwrite/writev for *BSD + FPC_USE_LIBC. Requires IOVEC et al to be defined in ostypes.inc
git-svn-id: trunk@2734 -
2006-03-04 14:21:42 +00:00
marco
24c0b496dd * commit of the syscall based linux support for pwrite/writev, still under
{$ifdef linux}. This to fix x86_64 breakage.

git-svn-id: trunk@2731 -
2006-03-04 12:40:45 +00:00
daniel
f1a5389b0b * Only update what is modified
git-svn-id: trunk@2707 -
2006-02-28 10:46:36 +00:00
daniel
740c68106b + Add pread/pwrite system calls
* Optimize video using pwrite

git-svn-id: trunk@2705 -
2006-02-27 23:18:35 +00:00
marco
103830cd59 * fixed sinlen
git-svn-id: trunk@2688 -
2006-02-26 00:53:11 +00:00
daniel
2a14ed7c32 * Optimize keyboard unit for code size; now 3kb+ object code less.
git-svn-id: trunk@2678 -
2006-02-24 23:31:55 +00:00
Jonas Maebe
23b5138f78 + telldir returns a TOff, change searchpos for findfirst/next in Dos from
longint into TOff

git-svn-id: trunk@2652 -
2006-02-20 11:00:40 +00:00
marco
a561bb8410 * added fptimes which was already imported in the syscall port
git-svn-id: trunk@2624 -
2006-02-18 21:36:11 +00:00
marco
b778d3723e * removed 1.0.x bootstrap situation related to unix linux
git-svn-id: trunk@2544 -
2006-02-12 19:07:43 +00:00
marco
a0ee97efb1 * linuxold etc moved to linux/ No need anymore for 1.0.x bootstrapping
git-svn-id: trunk@2542 -
2006-02-12 19:03:58 +00:00
florian
cf4b0a2185 * flock will get a pascal implementation on Solaris
git-svn-id: trunk@2490 -
2006-02-08 23:24:39 +00:00
peter
513cbb1c6e * Make RTL compilable
git-svn-id: trunk@2476 -
2006-02-08 08:56:16 +00:00
florian
a7893f3be8 * some functions are in different libraries under Solaris
git-svn-id: trunk@2475 -
2006-02-07 22:37:35 +00:00
florian
fe2b798378 * made a lot of Solaris rtl stuff compilable
git-svn-id: trunk@2471 -
2006-02-07 20:17:44 +00:00
daniel
aef758d3b5 * FreeBSD delete key
* Alt+Backspace in xterm

git-svn-id: trunk@2425 -
2006-02-04 08:31:18 +00:00
daniel
d19c95db8f * various bugfixes
- Disable shared linking for now since it since it simply breaks
    svn. (Already disabled in Makefile itself, likely accidentally
    done with an old FPCMake, but it "fixed" svn to compile.)

git-svn-id: trunk@2401 -
2006-02-02 08:22:35 +00:00
daniel
eb45aa901f * Remove debugging code.
git-svn-id: trunk@2389 -
2006-02-01 08:27:30 +00:00
peter
a293a2486d * remove useless comment
git-svn-id: trunk@2388 -
2006-02-01 06:34:31 +00:00
daniel
56d3bf1403 + Keyboard unit overhaul
+ Shift+arrow keys now working in xterm
     + Keyboard restored when vt-switching away from application on Linux
       console
     + Escape key remapped on Linux console so it works instantly.
     + Try to use Linux console more aggressively
     + Linux specific code now only executed on Linux terminals and not
       on xterm, FreeBSD etc.

git-svn-id: trunk@2383 -
2006-01-31 10:26:25 +00:00
daniel
0c050527ca * 2.0 workaround
git-svn-id: trunk@2379 -
2006-01-29 18:15:50 +00:00
daniel
b53d90a328 * Comitted too quickly
git-svn-id: trunk@2371 -
2006-01-29 08:28:46 +00:00
daniel
c1e09fab0c * Fix 2.0.0 compat
git-svn-id: trunk@2370 -
2006-01-29 08:00:16 +00:00
daniel
bb797e93f0 * vcsa functionality moved into linuxvcs unit
* Reverse ifdef in gpm

git-svn-id: trunk@2366 -
2006-01-28 23:17:48 +00:00
daniel
c182af93ab * Overhaul of key recognition codes. Should recognize key much
better now, even without terminfo, which has been removed so another
    libc dependency is gone.

git-svn-id: trunk@2361 -
2006-01-28 22:21:28 +00:00
daniel
ea2af1b3aa + Much more agressive VCSA detection. Now works from inside Midnight Commander.
git-svn-id: trunk@2351 -
2006-01-27 10:46:26 +00:00
daniel
45d159eaad * Another libc dependency less
git-svn-id: trunk@2348 -
2006-01-26 22:14:46 +00:00