Branch: refs/heads/smoke-me/khw-safe
  Home:   https://github.com/Perl/perl5
  Commit: e0aca6894286fa3430d31b29f6cb2621f61865a3
      
https://github.com/Perl/perl5/commit/e0aca6894286fa3430d31b29f6cb2621f61865a3
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M dist/threads/t/libc.t

  Log Message:
  -----------
  dist/threads/t/libc.t: Avoid deadlock

This test file can deadlock if there are bugs.  Add a timeout to keep
the test from hanging indefinitely.


  Commit: 7e890d26548bde89c89deb0529f5ae691e06dce3
      
https://github.com/Perl/perl5/commit/7e890d26548bde89c89deb0529f5ae691e06dce3
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M thread.h

  Log Message:
  -----------
  Make many-reader mutexes more resilient

These mutexes rely on a counter being accurate to work.  If for some
reason that I can't imagine happening, the count goes below 0, this
commit resets it to zero, which may be enough to cause the program to
continue.


  Commit: 24aaa2d41ccf2b9056a2c25947d40939744a1cf7
      
https://github.com/Perl/perl5/commit/24aaa2d41ccf2b9056a2c25947d40939744a1cf7
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M perl.h
    M thread.h

  Log Message:
  -----------
  many-reader mutexes: Change structure element name

I think this new name is clearer.


  Commit: 46752e047f8fdc9d8eb4510bc69c9e999835d481
      
https://github.com/Perl/perl5/commit/46752e047f8fdc9d8eb4510bc69c9e999835d481
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M thread.h

  Log Message:
  -----------
  PERL_WRITE_UNLOCK: add missing condition signal

The mutex is locked, and any contenders are awaiting a signal, which
until this commit was missing.


  Commit: f3add492aff3e084733add61dea78790e50283df
      
https://github.com/Perl/perl5/commit/f3add492aff3e084733add61dea78790e50283df
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M perl.h
    M perlvars.h

  Log Message:
  -----------
  perl.h: Add capability for many-reader ENV mutex locking

There are several places where there could be a problem in the
environment were changed by another thread when a function is executing,
but otherwise if another thread were reading the environment at the same
time, there isn't a problem.  This adds mutex for that situation.
Future commits will take advantage of it.


  Commit: fe749c9f09dc45ef353379c38f28785d053757a4
      
https://github.com/Perl/perl5/commit/fe749c9f09dc45ef353379c38f28785d053757a4
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M Configure
    M Cross/config.sh-arm-linux
    M Cross/config.sh-arm-linux-n770
    M NetWare/config.wc
    M Porting/config.sh
    M config_h.SH
    M configure.com
    M metaconfig.h
    M plan9/config_sh.sample
    M uconfig.h
    M uconfig.sh
    M uconfig64.sh
    M win32/config.gc
    M win32/config.vc

  Log Message:
  -----------
  preserves


  Commit: 582555f7cad827021ee2476a33745a0265ffa672
      
https://github.com/Perl/perl5/commit/582555f7cad827021ee2476a33745a0265ffa672
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M inline.h
    M perl.h

  Log Message:
  -----------
  Add GETENV_LOCK

get_env() needs to lock other threads from writing to the environment
while it is executing.  It may need to have an exclusive lock if those
threads can clobber its buffer before it gets a chance to save them.
The previous commit has added a Configure probe which tells us if that
is the case.  This commit uses it to select which type of mutex to use.


  Commit: 0960186c0bad63abc0178eedac57cbf31cc809f7
      
https://github.com/Perl/perl5/commit/0960186c0bad63abc0178eedac57cbf31cc809f7
  Author: Karl Williamson <[email protected]>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M embedvar.h
    M inline.h
    M intrpvar.h
    M makedef.pl
    M sv.c
    M util.c

  Log Message:
  -----------
  XXX Fix broken PERL_MEM_LOG under threads

This fixes GH #18XXX

There are problems with getenv() on threaded perls wchich can lead to
incorrect results when compiled with PERL_MEM_LOG.

The detailed comments outline the issues and (complicated) solution.


Compare: https://github.com/Perl/perl5/compare/125f9cba6a0e...0960186c0bad

Reply via email to