Main Koha release repository https://koha-community.org
Find a file
Emily Lamancusa 1155af8e80 Bug 34470: Initialize random seed after spawning a child worker process
When background_jobs_worker.pl spawns a new child process, it needs to
explicitly reinitialize the random seed - otherwise each child process
will inherit the same random seed from the parent process, and any
randomization will produce identical results each time.

This patch adds a call to srand immediately after the fork to
reinitialize the seed. Note that child processes should not call
srand with no parameter anywhere else, as the Perl documentation
indicates that srand should not be called with no parameter more than
once per process.

To test:
1. Apply the logging patch only
2. Set system preferences:
    a. RealTimeHoldsQueue -> Enable
    b. RandomizeHoldsQueueWeight -> in random order
3. Watch the logs for the staff interface
   in ktd:
   ktd --shell
   koha-intra-err
4. Place a hold. Note that the logs display the branch list before and
   after it is randomized.
5. Place some more holds. Note that the branch order after randomization
   is identical each time.
6. Apply both patches and restart_all
7. Repeat steps 3-5.
   -> Note that the branch order before randomization hasn't changed
   -> Note that the branch order after randomization is now different
      each time.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a3c64f62c0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2023-08-17 09:15:36 -10:00
acqui Bug 34022: Adjust items data structure 2023-06-26 14:49:52 +02:00
admin Bug 32271: (QA follow-up) Convert all positive numbers to monetary float and convert all 0 equivilents to blank value 2023-08-07 20:05:46 -10:00
api Bug 34387: (QA follow-up) Fix display of 'Import batches' 2023-08-17 08:41:10 -10:00
authorities Bug 33803: Remove comment about tab width 2023-06-09 11:22:17 -03:00
basket Bug 33223: Replace 'first_valid' with 'notice' for email addresses 2023-05-16 15:17:35 -03:00
bin
C4 Bug 33964: (QA follow-up) Handle absence of smtp server 2023-08-07 20:05:46 -10:00
catalogue Bug 33047: Return 404 instead of 500 when biblio does not exist 2023-07-18 10:28:24 +01:00
cataloguing Bug 34288: Allow access to the cataloguing module with tools permission 2023-07-19 08:32:47 +01:00
circ Bug 34094: Use DefaultPatronSearchMethod consistently 2023-07-17 16:04:31 +01:00
clubs Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
course_reserves Bug 20256: Use new methods 2023-02-02 11:59:26 -03:00
debian Bug 28493: Make koha-passwd display the username 2023-08-07 20:05:46 -10:00
docs Bug 33899: Add the 23.11 release team 2023-07-12 07:59:29 +01:00
erm Bug 32922: Remove space in shebang 2023-02-20 09:44:06 -03:00
errors Bug 29420: HTTP status code incorrect when calling error pages directly under Plack/PSGI 2022-04-20 09:03:39 -10:00
etc Bug 34101: Limit items types that can be checked out via SIP2 2023-07-17 16:35:05 +01:00
ill Bug 28909: Allow illview to use backend template 2022-08-09 13:21:39 -03:00
installer Bug 30451: DBRev 23.05.02.002 2023-08-17 08:48:01 -10:00
Koha Bug 34117: Remove side effect from get_expiry_date 2023-08-17 09:06:04 -10:00
koha-tmpl Bug 34155: Hide 'Next available' at OPAC when item-level hold is forced 2023-08-17 08:58:34 -10:00
labels Bug 31633: (follow-up) Group template params 2022-10-03 14:09:59 -03:00
lib/CGI/Session/Serialize
members Bug 22990: Add CSRF protection to boraccount, pay and suggestion 2023-07-28 09:12:39 -10:00
misc Bug 34470: Initialize random seed after spawning a child worker process 2023-08-17 09:15:36 -10:00
offline_circ Bug 33961: Remove built-in offline circ tool 2023-07-17 08:18:59 +01:00
opac Bug 34023: Prevent HTML injection in "back to results" link from search page 2023-07-28 09:12:39 -10:00
patron_lists
patroncards Bug 24001: Fix patron card template edition 2022-04-28 10:49:20 -10:00
plugins Bug 30367: (follow-up) Same adjustment for gitlab 2023-05-05 10:18:57 -03:00
pos Bug 30619: Add email receipt to POS 2022-09-07 15:59:34 -07:00
recalls Bug 34013: Recalls awaiting pickup doesn't show count on each tab 2023-07-17 14:51:00 +01:00
reports Bug 29664: (QA follow-up) Typo transacton 2023-07-17 15:58:47 +01:00
reserve Bug 34178: Cache ItemsAnyAvailableAndNotRestricted in memory and don't precalculate 2023-07-25 10:20:51 -10:00
reviews
rotating_collections
serials Bug 34146: Counterpart for serials-edit 2023-07-17 15:57:40 +01:00
services
skel
suggestion Bug 22990: (follow-up) Fix suggestion.pl 2023-07-28 09:12:39 -10:00
svc Bug 33944: Don't fetch item object unless using recalls 2023-07-17 14:42:23 +01:00
t Bug 34117: Add unit tests 2023-08-17 09:06:04 -10:00
tags Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
tools Bug 34368: Add CSRF token to Content Management pages 2023-07-28 09:12:39 -10:00
virtualshelves Bug 22990: Fix for shelves table 2023-07-28 09:12:39 -10:00
xt Bug 30002: Remove unused xt/perltidyrc 2023-07-12 07:55:00 +01:00
.editorconfig Bug 27375: Set YAML file settings in .editorconfig 2021-11-03 15:40:52 +01:00
.eslintrc.json
.gitignore Bug 33710: Ignore how-to related files 2023-05-12 17:50:01 -03:00
.htaccess
.mailmap Update .mailmap 2023-07-17 08:12:22 +01:00
.perlcriticrc
.perltidyrc Bug 30002: Adjust perltidy 2023-07-12 07:55:00 +01:00
.proverc.dist
.stylelintrc.json Bug 31528: (follow-up) A few additional rules 2022-10-03 08:23:15 -03:00
about.pl Bug 33934: Add more detail to 'No encryption_key in koha-conf.xml' 2023-06-09 12:05:00 -03:00
app.psgi
build-resources.PL Bug 32609: Use the current yarn.lock to generate node_modules 2023-02-10 11:07:57 -03:00
changelanguage.pl
cpanfile Bug 33964: (QA follow-up) Remove library from cpanfile 2023-08-07 20:05:46 -10:00
cypress.json Bug 33408: Extend defaultCommandTimeout for cypress 2023-04-13 11:48:00 -03:00
fix-perl-path.PL
gulpfile.js Bug 32978: Replace node-sass with dart-sass 2023-02-22 10:03:39 -03:00
help.pl
INSTALL
Koha.pm Bug 30451: DBRev 23.05.02.002 2023-08-17 08:48:01 -10:00
koha_perl_deps.pl
kohaversion.pl
LICENSE
mainpage.pl Bug 33133: Add fast cataloging to 'Cataloging' page 2023-03-27 12:50:07 +02:00
Makefile.PL Bug 26700: Remove occurrences in Makefile.PL 2023-07-17 11:01:46 +01:00
MANIFEST.SKIP
package.json Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -03:00
README
README.md
README.robots
rewrite-config.PL
tsconfig.json Bug 32030: Move cypress to t - fix build_js/watch_js 2022-11-08 09:44:52 -03:00
webpack.config.js Bug 32806: Move main-erm.ts to modules/erm.ts 2023-02-27 11:12:01 -03:00
yarn.lock Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -03:00

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo