summaryrefslogtreecommitdiff
path: root/os2
Commit message (Collapse)AuthorAgeFilesLines
* style: Detabify indentation of the C code maintained by the core.Michael G. Schwern2021-01-174-2816/+2816
| | | | | | | | | | | This just detabifies to get rid of the mixed tab/space indentation. Applying consistent indentation and dealing with other tabs are another issue. Done with `expand -i`. * vutil.* left alone, it's part of version. * Left regen managed files alone for now.
* Fix typosSamanta Navarro2020-10-031-1/+1
| | | | | | | | | For: https://github.com/Perl/perl5/pull/18201 Committer: Samanta Navarro is now a Perl author. To keep 'make test_porting' happy: Increment $VERSION in several files. Regenerate uconfig.h via './perl -Ilib regen/uconfig_h.pl'.
* os2.c: Convert to use av_count()Karl Williamson2020-08-191-4/+3
|
* use PERL_REVISION in os2/Makefile.SHs☢ ℕicolas ℝ2020-08-041-1/+1
|
* os2.c: Use PerlEnv_getenvKarl Williamson2020-07-311-27/+37
| | | | which has added protections beyond plain getenv()
* Remove the final remnants of 5005threads supportDagfinn Ilmari Mannsåker2020-07-201-3/+3
| | | | Only THREAD_RET_TYPE is still used.
* handy.h: Create nBIT_MASK(n) macroKarl Williamson2020-07-171-1/+1
| | | | | This encapsulates a common paradigm, making sure that it is done correctly for the platform's size.
* Fix a bunch of repeated-word typosDagfinn Ilmari Mannsåker2020-05-222-2/+2
| | | | | Mostly in comments and docs, but some in diagnostic messages and one case of 'or die die'.
* Add memCHRs() macro and use itKarl Williamson2019-12-182-2/+2
| | | | | | | This replaces strchr("list", c) calls throughout the core. They don't work properly when 'c' is a NUL, returning the position of the terminating NUL in "list" instead of failure. This could lead to segfaults or even security issues.
* Use sv_catpvs where appropriate vs sv_catpvKarl Williamson2018-08-061-1/+1
| | | | | This moves calculations definitely to compile time; some optimizing compilers may already do this, but some may not.
* Revert "set PERL_EXIT_DESTRUCT_END in all embeddings"David Mitchell2018-05-111-1/+0
| | | | | | | | | | | | | | | This reverts commit 8e920bd341e241f50a74dbf8aa343319f204e200. Also skip the tests in t/op/blocks.t RT #132863 8e920bd341 sets the PERL_EXIT_DESTRUCT_END flag on non-UNIXy platforms, like is already done on UNIXy platforms. This makes things like BEGIN { exit(1) } call END blocks on those platforms (like they already do on UNIX). But it caused problems with win32 pseudo-forks, so revert for 5.28 and re-address the issues sometime later.
* set PERL_EXIT_DESTRUCT_END in all embeddingsZefram2017-12-221-0/+1
| | | | | | The new tests in commit 503bc07b4b9e34ed04a725b2bc8faec1ae0f3be2 showed up platform differences in whether END blocks get run. Set PERL_EXIT_DESTRUCT_END in all embeddings to make this consistent.
* fix up faulty perl embeddingsZefram2017-12-211-8/+4
| | | | | | | | | | | | Some platform-specific embeddings of perl were misusing the return values from perl_parse() and perl_run(), in some cases causing failure due to exit(0) combined with the recent changes in commit 0301e899536a22752f40481d8a1d141b7a7dda82. Commit d4a50999a5525c2681d59cae5fcd94f94ff897fd partially fixed a Windows embedding. More fully fix that, along with NetWare and OS/2. Even in embeddings with correct logic, stop using a variable named "exitstatus" to hold the result of perl_parse() or perl_run(), to avoid misleading people who copy the code.
* make exec keep its argument list more reliablyZefram2017-12-141-48/+61
| | | | | | | | | | Bits of exec code were putting the constructed commands into globals PL_Argv and PL_Cmd, which could then be clobbered by reentrancy. These are only global in order to manage their freeing, but that's better managed by using the scope stack. So replace them with automatic variables, with ENTER/SAVEFREEPV/LEAVE to free the memory. Also copy the strings acquired from SVs, to avoid magic clobbering the buffers of SVs already read. Fixes [perl #129888].
* Avoid newGVgen in blead-upstream modulesFather Chrysostomos2017-12-101-1/+2
| | | | | | | | | | | | | | | | | | ExtUtils::ParseXS::Typemaps: Just in documentation, but it’s good to change it, in case peo- ple copy it. Time::HiRes: It doesn’t even use these typemap entries, but I changed it in case they get used in the future. (The changes are not identical to the default typemap, because Time::HiRes is 5.6-compatible, at least nominally.) os2/os2.c: No, this is not a module, but I changed it, too. Some other instances of newGVgen are already handled properly, or are just in tests, so I left them alone.
* Rename strEQs to strBEGINs; remove strNEsKarl Williamson2017-11-061-4/+4
| | | | | | | | | | The original names are confusing. See thread beginning with http://nntp.perl.org/group/perl.perl5.porters/244335 The two macros are mapped into just that one, complementing the result for the few cases where strNEs was used.
* Remove #ifdef USE_ITHREADS around MUTEX_* callsDagfinn Ilmari Mannsåker2017-07-031-2/+0
| | | | | These macros are defined as NOOP outside USE_ITHREADS, so there's no point in guarding them with it.
* (perl #126228) partly revert 8cc95fdb and fix a3c8358cTony Cook2017-01-191-1/+1
| | | | | | | | | | | | | | | | | | | a3c8358c changed: -#define dXSUB_SYS int dummy +#define dXSUB_SYS which made dXSUB_SYS into not-a-declaration, this apparently broke something, since 8cc95fdb then went through all the definitions of dXSUB_SYS, made each of them into not-a-declaration and then ensured ExtUtilis::Miniperl emitted dXSUB_SYS in a place where it didn't matter whether it was a declaration or a statement. When these changes were made perl.h didn't have dNOOP, but now we do, so we can make dXSUB_SYS a declaration again, as its name implies. Based on a patch originally created by Daniel Dragan (bulk88).
* Switch most open() calls to three-argument form.John Lightsey2016-12-231-3/+3
| | | | | | | | | | Switch from two-argument form. Filehandle cloning is still done with the two argument form for backward compatibility. Committer: Get all porting tests to pass. Increment some $VERSIONs. Run: ./perl -Ilib regen/mk_invlists.pl; ./perl -Ilib regen/regcharclass.pl For: RT #130122
* os2: switch to using string constant friendly macrosYves Orton2016-10-192-10/+10
|
* Change sv_setpvn(…, "…", …) to sv_setpvs(…, "…")Dagfinn Ilmari Mannsåker2016-09-213-3/+3
| | | | | The dual-life dists affected use Devel::PPPort, so can safely use sv_setpvs() even though it wasn't added until Perl v5.10.0.
* Makefile.SH: rationalise object list variablesDavid Mitchell2016-03-181-5/+5
| | | | | | | | | | | | | | | | There are a number of variables in the generated Makefile, such as 'obj' and 'minindt_obj', that enumerate various subsets of the object files that need to be compiled and linked. Rename and reorganise these vars slightly, to make the next commit simpler. In particular it now splits the object files in into 3 sets: common (av.o etc), those used just by miniperl (opmini.o etc) and those used just by perl (op.o etc). Should be no functional changes. The changes to os2/Makefile.SHs have been done blind. Does anyone still use OS2?
* s/ar rcu/ar rc/ during linkingDavid Mitchell2016-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | The are a few places in Makefile.SH which do (approximately): rm $libfile ar rcu $libfile *.o The 'u' in 'rcu' seems redundant since the old lib file is always deleted just before being recreated; and more to the point, it generates warnings on recent Linux builds: /bin/ar: `u' modifier ignored since `D' is the default (see `U') This is because the 'u' modifier updates the archive, i.e. only replaces the objects which are newer in an existing archive. On my Linux system, ar by default operates in 'deterministic' mode, which means that it doesn't add timestamps etc (so that repeated builds will give identical binaries). In this mode 'u' can't work, hence the warning. So this commit just removes the 'u' flag.
* [perl #121351] Remove non-doio.c uses of PL_statbufDagfinn Ilmari Mannsåker2016-01-251-2/+3
| | | | | These are the last remaining uses outside the interwoven mess in S_openn_cleanup, openn_setup, and their callers in doio.c.
* Start fixing some pod pedantic errorsKarl Williamson2015-09-034-72/+82
| | | | This fixes a bunch of them, but there are many more
* bump $VERSION for PerlIO-encoding, PerlIO-mmap, PerlIO-scalar, OS2-ProcessTony Cook2014-06-121-1/+1
|
* Change newSVpvn("…", …) to newSVpvs("…")Dagfinn Ilmari Mannsåker2014-06-122-6/+6
| | | | | The dual-life dists affected use Devel::PPPort, so can safely use newSVpvs() even though it wasn't added until Perl v5.8.9.
* Change core uses of Perl_do_openn() to Perl_do_open6() or Perl_do_open_raw().Nicholas Clark2014-03-191-1/+1
| | | | | | Calls to Perl_do_openn() all have at least 2 unused arguments which clutter the code and hinder easy understanding. Perl_do_open6() and Perl_do_open_raw() each only do one job, so don't have the dead arguments.
* Change av_len calls to av_tindex for clarityKarl Williamson2014-02-201-1/+1
| | | | | | av_tindex is a more clearly named synonym for av_len, available starting in v5.18. This changes the core uses to it, including modules in /ext, which are not dual-lifed.
* Removed the ifdefs for INCOMPLETE_TAINTSBrian Fraser2013-09-211-4/+0
| | | | | This was added in 5.5/5.6 as a backwards-compatibility measure when taint was extended to happen in more places.
* typo fix for os2 moduleDavid Steinbrunner2013-05-241-2/+2
| | | | Bump $VERSION for os2/OS2/OS2-Process/Process.pm.
* Fix various minor pod issuesKarl Williamson2013-01-243-6/+6
| | | | | These were all uncovered by the new Pod::Checker, not yet in core. Fixing these will speed up debugging the new Checker.
* Remove "register" declarationsKarl Williamson2012-11-241-2/+2
| | | | | | | This finishes the removal of register declarations started by eb578fdb5569b91c28466a4d1939e381ff6ceaf4. It neglected the ones in function parameter declarations, and didn't include things in dist, ext, and lib, which this does include
* Add C define to remove taint support from perlSteffen Mueller2012-11-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By defining NO_TAINT_SUPPORT, all the various checks that perl does for tainting become no-ops. It's not an entirely complete change: it doesn't attempt to remove the taint-related interpreter variables, but instead virtually eliminates access to it. Why, you ask? Because it appears to speed up perl's run-time significantly by avoiding various "are we running under taint" checks and the like. This change is not in a state to go into blead yet. The actual way I implemented it might raise some (valid) objections. Basically, I replaced all uses of the global taint variables (but not PL_taint_warn!) with an extra layer of get/set macros (TAINT_get/TAINTING_get). Furthermore, the change is not complete: - PL_taint_warn would likely deserve the same treatment. - Obviously, tests fail. We have tests for -t/-T - Right now, I added a Perl warn() on startup when -t/-T are detected but the perl was not compiled support it. It might be argued that it should be silently ignored! Needs some thinking. - Code quality concerns - needs review. - Configure support required. - Needs thinking: How does this tie in with CPAN XS modules that use PL_taint and friends? It's easy to backport the new macros via PPPort, but that doesn't magically change all code out there. Might be harmless, though, because whenever you're running under NO_TAINT_SUPPORT, any check of PL_taint/etc is going to come up false. Thus, the only CPAN code that SHOULD be adversely affected is code that changes taint state.
* Undo VERSION bump for undone codeSteve Hay2012-08-201-1/+1
| | | | | | Commit 78ed4cf4d6 undid the accidental effect of eb578fdb55 on OS2::REXX but forgot to revert the accompanying VERSION bump, which is not otherwise required since nothing else has changed.
* fix accidentally modified commentJesse Luehrs2012-08-201-1/+1
|
* Omnibus removal of register declarationsKarl Williamson2012-08-183-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes most register declarations in C code (and accompanying documentation) in the Perl core. Retained are those in the ext directory, Configure, and those that are associated with assembly language. See: http://stackoverflow.com/questions/314994/whats-a-good-example-of-register-variable-usage-in-c which says, in part: There is no good example of register usage when using modern compilers (read: last 10+ years) because it almost never does any good and can do some bad. When you use register, you are telling the compiler "I know how to optimize my code better than you do" which is almost never the case. One of three things can happen when you use register: The compiler ignores it, this is most likely. In this case the only harm is that you cannot take the address of the variable in the code. The compiler honors your request and as a result the code runs slower. The compiler honors your request and the code runs faster, this is the least likely scenario. Even if one compiler produces better code when you use register, there is no reason to believe another will do the same. If you have some critical code that the compiler is not optimizing well enough your best bet is probably to use assembler for that part anyway but of course do the appropriate profiling to verify the generated code is really a problem first.
* Remove dead code related to the Atari ST port of perl 4.0 patchlevel 19Nicholas Clark2012-07-281-6/+0
| | | | | The subdirectory containing the port specific files was purged when 5.000 was released, but changes made to other files were not removed.
* OS2-Process/Process.pm: Fix broken pod linksKarl Williamson2011-07-031-4/+5
|
* Bump OS2::Process version since the docs changed triggering a test failJesse Vincent2011-02-011-1/+1
|
* Remove whitespace for pod fix.Michael Stevens2011-02-011-1/+1
|
* Version bumps for OS2 non-dual-life modules identified byJesse Vincent2011-01-201-1/+1
| | | | ./perl -Ilib Porting/cmpVERSION.pl -xd . v5.13.8
* Remove whitespace for pod fix.Michael Stevens2011-01-181-1/+1
|
* Fix typos (spelling errors) in os2/*.Peter J. Acklam) (via RT2011-01-077-17/+17
| | | | | | | | | # New Ticket Created by (Peter J. Acklam) # Please include the string: [perl #81900] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=81900 > Signed-off-by: Abigail <abigail@abigail.be>
* Fix POD: C<...->...> => C<< ...-> ... >>Frank Wiegand2009-11-192-2/+2
| | | | Signed-off-by: Abigail <abigail@abigail.be>
* Bump OS2::DLL's version since it differs from what was shipped in 5.11.0Jesse Vincent2009-10-201-1/+1
|
* Bump OS2::Process's version since it differs from the version in 5.11.0Jesse Vincent2009-10-201-1/+1
|
* A number of pod fixes found by podcheck.tJesse Vincent2009-10-052-18/+18
|
* 354c724e8ab7 should only have renamed the directories. Not the typemap file.Nicholas Clark2009-09-041-0/+0
|
* OS/2 hadn't been updated to cope with the ext/ restructuring.Nicholas Clark2009-09-0445-1/+1
| | | | | | | | | | I don't have OS/2, so I can't test this, but the code in Configure will assume flat directories, because ext/File-Glob is present, and hence not search recursively and not find the OS/2 extensions if they are copied into ext/OS2/* I believe that without this change OS/2 will not have been building since the change to flattened ext. This change may not be sufficient to get OS/2 building again, but it is in the right direction.