Main Koha release repository https://koha-community.org
Find a file
Emily Lamancusa a3c64f62c0
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>
2023-08-15 11:25:48 +03:00
acqui Bug 33105: Tidy files 2023-07-20 10:59:31 -03:00
admin Bug 32271: (QA follow-up) Convert all positive numbers to monetary float and convert all 0 equivilents to blank value 2023-07-19 13:00:37 -03:00
api Bug 34387: (QA follow-up) Fix display of 'Import batches' 2023-08-15 11:25:38 +03:00
authorities
basket
bin
C4 Bug 33881: Clear self-check JWT during auth kick out 2023-08-07 21:00:08 -03:00
catalogue Bug 33047: Return 404 instead of 500 when biblio does not exist 2023-07-10 15:43:14 -03:00
cataloguing Bug 34288: Allow access to the cataloguing module with tools permission 2023-07-18 12:46:53 -03:00
circ Bug 28966: Prefetch patron data for holds queue viewer 2023-07-25 16:25:38 -03:00
clubs
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-07-19 13:00:41 -03:00
docs
erm
errors
etc
ill Bug 28909: Allow illview to use backend template 2022-08-09 13:21:39 -03:00
installer Bug 30451: DBRev 23.06.00.014 2023-08-15 11:25:41 +03:00
Koha Bug 34117: Remove side effect from get_expiry_date 2023-08-15 11:25:46 +03:00
koha-tmpl Bug 34155: Hide 'Next available' at OPAC when item-level hold is forced 2023-08-15 11:25:45 +03:00
labels
lib/CGI/Session/Serialize
members Bug 22990: Add CSRF protection to boraccount, pay and suggestion 2023-08-07 21:00:01 -03:00
misc Bug 34470: Initialize random seed after spawning a child worker process 2023-08-15 11:25:48 +03:00
offline_circ Bug 33444: Update AddRenewal to take a hashref of params 2023-07-19 12:06:52 -03:00
opac Bug 34023: Prevent HTML injection in "back to results" link from search page 2023-08-07 21:00:04 -03:00
patron_lists Bug 16446: Add ability to add patrons to list by borrowernumber 2021-10-21 12:24:04 +02:00
patroncards
plugins
pos
recalls
reports
reserve Bug 34178: Cache ItemsAnyAvailableAndNotRestricted in memory and don't precalculate 2023-07-19 13:00:42 -03:00
reviews
rotating_collections
serials Bug 33039: Add ability to specify a template for serial subscription "Published on (text)" field 2023-07-14 08:59:43 -03:00
services
skel
suggestion Bug 22990: (follow-up) Fix suggestion.pl 2023-08-07 21:00:04 -03:00
svc Bug 33444: Update AddRenewal to take a hashref of params 2023-07-19 12:06:52 -03:00
t Bug 34117: Add unit tests 2023-08-15 11:25:47 +03:00
tags
tools Bug 34368: Add CSRF token to Content Management pages 2023-08-07 21:00:00 -03:00
virtualshelves Bug 22990: Fix for shelves table 2023-08-07 21:00:02 -03:00
xt
.editorconfig
.eslintrc.json
.gitignore
.htaccess
.mailmap
.perlcriticrc
.perltidyrc
.proverc.dist
.stylelintrc.json
about.pl Bug 33934: Add more detail to 'No encryption_key in koha-conf.xml' 2023-06-07 15:25:18 -03:00
app.psgi Bug 20582: Fix PSGI file when behind a reverse proxy 2020-10-06 12:00:04 +02:00
build-resources.PL
changelanguage.pl
cpanfile Bug 33964: (QA follow-up) Remove library from cpanfile 2023-07-25 08:25:41 -03:00
cypress.json
fix-perl-path.PL
gulpfile.js
help.pl
INSTALL
Koha.pm Bug 30451: DBRev 23.06.00.014 2023-08-15 11:25:41 +03:00
koha_perl_deps.pl
kohaversion.pl Bug 26384: Fix executable flags 2020-09-11 09:56:56 +02:00
LICENSE
mainpage.pl
Makefile.PL
MANIFEST.SKIP
package.json
README
README.md
README.robots Bug 6411 add another example to README.robots 2011-07-05 14:48:05 +12:00
rewrite-config.PL
tsconfig.json
webpack.config.js
yarn.lock

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