OpenSRF.git
9 years agoin the rare case the select() is interrupted while waiting on child statuses, exit...
erickson [Mon, 22 Nov 2010 22:22:01 +0000 (22:22 +0000)]
in the rare case the select() is interrupted while waiting on child statuses, exit early to prevent read()'s on invalid file handles and allow the calling code to loop back around and try again

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2102 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded support for introspect operation
erickson [Sat, 20 Nov 2010 15:50:44 +0000 (15:50 +0000)]
added support for introspect operation

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2100 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoinstall srfsh.py when --enable-python is set
erickson [Sat, 20 Nov 2010 15:29:13 +0000 (15:29 +0000)]
install srfsh.py when --enable-python is set

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2098 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded support for paging through 'less' (like C); added 'router' query docs; added...
erickson [Sat, 20 Nov 2010 15:29:02 +0000 (15:29 +0000)]
added support for paging through 'less' (like C); added 'router' query docs;  added separate env vars for pretty printing json and for print network object keys;   explicit opensrf disconnect on exit

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2097 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded network disconnect func
erickson [Sat, 20 Nov 2010 15:28:57 +0000 (15:28 +0000)]
added network disconnect func

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2096 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded 'router' command for router class info queries; improved redline tab completion...
erickson [Fri, 19 Nov 2010 02:42:34 +0000 (02:42 +0000)]
added 'router' command for router class info queries; improved redline tab completion; more changes for consistency with C version; general cleanup

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2092 9efc2488-bf62-4759-914b-345cdb29e865

9 years agorepaired logic in the as-yet-unused import_array_data; use the more efficient enumera...
erickson [Tue, 16 Nov 2010 14:09:09 +0000 (14:09 +0000)]
repaired logic in the as-yet-unused import_array_data; use the more efficient enumerate func; capture array length outside of loop for efficiency; avoid calls to set/get_field and access _data directly inside of the NetworkObject class for faster accessor/mutator's

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2090 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoremoved debug print statement
erickson [Tue, 16 Nov 2010 14:09:02 +0000 (14:09 +0000)]
removed debug print statement

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2089 9efc2488-bf62-4759-914b-345cdb29e865

9 years agorely on logic, not failure through try/catch, to determine of an object is a register...
erickson [Tue, 16 Nov 2010 03:38:06 +0000 (03:38 +0000)]
rely on logic, not failure through try/catch, to determine of an object is a registered network object;  if an object is unregistered, do not treat it as an __unknown network object (which obfuscates and provides no value).

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2086 9efc2488-bf62-4759-914b-345cdb29e865

9 years agokilled the terminal colors in srfsh.py output. They are cute and all, but are likely...
erickson [Tue, 16 Nov 2010 03:37:49 +0000 (03:37 +0000)]
killed the terminal colors in srfsh.py output.  They are cute and all, but are likely the cause of readline oddities/artifacts (and kind of distracting).  Default to raw (json) output for consistency

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2085 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoBump version number for 2.0 branch
dbs [Mon, 15 Nov 2010 21:10:06 +0000 (21:10 +0000)]
Bump version number for 2.0 branch

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2082 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoCreate rel_2_0 branch for next major OpenSRF release
dbs [Mon, 15 Nov 2010 20:49:18 +0000 (20:49 +0000)]
Create rel_2_0 branch for next major OpenSRF release

git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/rel_2_0@2078 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoLimit list of Python services to those within the domain-specific activeapps section
dbs [Sun, 14 Nov 2010 04:15:24 +0000 (04:15 +0000)]
Limit list of Python services to those within the domain-specific activeapps section

Fix up help with correct default PID directory and document list_all action

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2077 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoIf an alternate config file is pointed to in osrf_ctl.sh, respect it
dbs [Thu, 11 Nov 2010 14:47:12 +0000 (14:47 +0000)]
If an alternate config file is pointed to in osrf_ctl.sh, respect it

In a previous edit, I accidentally removed the config file option
from the start_python command, which would break if anything other
than the configured default config file was specified as an option to
osrf_ctl.sh. This makes opensrf.py once again respect the authority
of osrf_ctl.sh.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2076 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoUse the same PID directory as the opensrf-perl.pl and opensrf.py scripts
dbs [Thu, 11 Nov 2010 14:25:02 +0000 (14:25 +0000)]
Use the same PID directory as the opensrf-perl.pl and opensrf.py scripts

The default PID directories for the opensrf-perl.pl and opensrf.py scripts
was /openils/var/run/opensrf (assuming a prefix of '/openils'), while the
default PID directory for osrf_ctl.sh was /openils/var/run. This complicated
matters when trying to restart individual Python or Perl services, as without
passing an explicit PID directory argument the restart command from the
language-specific script would check for a PID in a different PID directory,
find none, and end up running a second copy of the service instead of
restarting the existing service.

The change groups all PIDs in the 'run/opensrf' subdirectory to avoid any
PID file conflicts (as unlikely as that might be) if OpenSRF is installed
in the default location - so rather than /var/local/run/*.pid, one will
be able to look at /var/local/run/opensrf/*.pid

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2075 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd the sanity-saving step of a munged PERL5LIB to the README
dbs [Wed, 10 Nov 2010 19:14:19 +0000 (19:14 +0000)]
Add the sanity-saving step of a munged PERL5LIB to the README

Thanks for the nudge from Thomas Berezanksy!

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2074 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoCommit some unit tests for Python osrf.json module
dbs [Wed, 10 Nov 2010 03:33:15 +0000 (03:33 +0000)]
Commit some unit tests for Python osrf.json module

Recommendation: add *_test.py scripts that mirror each
osrf.* module in src/python/tests. Boo-yah.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2073 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoosrf.json clean up
dbs [Tue, 9 Nov 2010 22:54:39 +0000 (22:54 +0000)]
osrf.json clean up

  * Use the right variable name in to_json_raw()
  * PEP8 compliance for variable naming
  * Add docstrings
  * Simpler __tabs() implementation

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2072 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoA solution for starting all Python services: make sh do the work
dbs [Tue, 9 Nov 2010 21:39:44 +0000 (21:39 +0000)]
A solution for starting all Python services: make sh do the work

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2071 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoEnhanced do_start() implementation in Python management script
dbs [Tue, 9 Nov 2010 18:17:50 +0000 (18:17 +0000)]
Enhanced do_start() implementation in Python management script

Unclean shutdowns and fork() misery can create PID files that have
no actual process behind them. Instead of just trusting the PID file, check
for the running PID; if the process is not running, then remove the PID file
and actually start the service.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2070 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAssign, don't test equality (thanks berick)
dbs [Tue, 9 Nov 2010 17:54:13 +0000 (17:54 +0000)]
Assign, don't test equality (thanks berick)

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2069 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMake start_all automatically daemonize services
dbs [Tue, 9 Nov 2010 17:28:29 +0000 (17:28 +0000)]
Make start_all automatically daemonize services

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2068 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoGive opensrf.py reasonable defaults for options
dbs [Tue, 9 Nov 2010 16:21:15 +0000 (16:21 +0000)]
Give opensrf.py reasonable defaults for options

Rather than:
opensrf.py -l -d -f /openils/conf/opensrf_core.xml -p /openils/var/run/ -a start_all

you can now use:
opensrf.py -l -d -a start_all

Isn't that better? Note that we put the PIDs into PID_DIR/run/opensrf/
so that if/when OpenSRF is installed outside of the /openils/ prefix,
the names of the processes won't conflict with any other application PIDs.
Unlikely, but you never know.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2067 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoTry not to stomp on global variable names and built-ins, add docstrings
dbs [Tue, 9 Nov 2010 15:58:21 +0000 (15:58 +0000)]
Try not to stomp on global variable names and built-ins, add docstrings

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2066 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoTypos: s/wait_for_child/try_wait_child/ and s/min_childen/min_children/
dbs [Tue, 9 Nov 2010 14:59:21 +0000 (14:59 +0000)]
Typos: s/wait_for_child/try_wait_child/ and s/min_childen/min_children/

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2065 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoTypo: Pass in the array of servers to the memcached client if we have one
dbs [Tue, 9 Nov 2010 14:56:01 +0000 (14:56 +0000)]
Typo: Pass in the array of servers to the memcached client if we have one

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2064 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoReference constants properly
dbs [Tue, 9 Nov 2010 14:46:03 +0000 (14:46 +0000)]
Reference constants properly

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2063 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMake pylint happier with PEP8-compliant argument name
dbs [Tue, 9 Nov 2010 14:32:13 +0000 (14:32 +0000)]
Make pylint happier with PEP8-compliant argument name

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2062 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoFix daemonize problem that surfaced in start_all
dbs [Tue, 9 Nov 2010 14:22:25 +0000 (14:22 +0000)]
Fix daemonize problem that surfaced in start_all

Thanks to Michael Giarlo for reporting the problem, Bill Erickson
for pointing the way to the solution, and http://bugs.python.org/issue5313
for providing me with more context for the problem & solution.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2061 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMore debuggery for the spawning of child processes
dbs [Tue, 9 Nov 2010 13:59:55 +0000 (13:59 +0000)]
More debuggery for the spawning of child processes

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2060 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMinutes and months were reversed in Python logging timestamps
dbs [Tue, 9 Nov 2010 13:50:43 +0000 (13:50 +0000)]
Minutes and months were reversed in Python logging timestamps

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2059 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd a Python and curl example of invoking the Perl simpletext services
dbs [Tue, 9 Nov 2010 01:59:03 +0000 (01:59 +0000)]
Add a Python and curl example of invoking the Perl simpletext services

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2058 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd a streaming version of the split() method in simpletext example
dbs [Tue, 9 Nov 2010 01:57:38 +0000 (01:57 +0000)]
Add a streaming version of the split() method in simpletext example

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2057 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMake opensrf-perl.pl handle missing configuration for services more gracefully
dbs [Mon, 8 Nov 2010 21:03:55 +0000 (21:03 +0000)]
Make opensrf-perl.pl handle missing configuration for services more gracefully

As we might want to ship configuration files with commented out sections,
this will alert the user that a service was listed in the hosts section
but the configuration for that service could not be found.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2056 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoPatch from Michael Giarlo to integrate python service control into osrf_ctl.sh.
erickson [Fri, 5 Nov 2010 20:57:43 +0000 (20:57 +0000)]
Patch from Michael Giarlo to integrate python service control into osrf_ctl.sh.

I made the following additional changes:

1. copy opensrf.py into the BIN dir during install when --enable-python is used.

2. osrf_ctl.sh will not attempt to control python services when python is not enabled for opensrf.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2055 9efc2488-bf62-4759-914b-345cdb29e865

9 years agopatch from Michael Giarlo for better sanity checking during settings file reading...
erickson [Fri, 5 Nov 2010 15:15:53 +0000 (15:15 +0000)]
patch from Michael Giarlo for better sanity checking during settings file reading in python (avoid #comment's)

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2054 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded osrf.apps to installed pachages (thanks for the tip, dbs). bumped version...
erickson [Fri, 5 Nov 2010 14:48:14 +0000 (14:48 +0000)]
added osrf.apps to installed pachages (thanks for the tip, dbs).  bumped version in prep for 2.0

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2053 9efc2488-bf62-4759-914b-345cdb29e865

9 years agosocket_bundle typo patch from Jason Stephenson
erickson [Fri, 5 Nov 2010 12:59:00 +0000 (12:59 +0000)]
socket_bundle typo patch from Jason Stephenson

Further discussion and DCO:

http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-November/006476.html

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2051 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoconsistent w/ the C libs, only log server message processing duration at INFO. log...
erickson [Tue, 26 Oct 2010 14:12:15 +0000 (14:12 +0000)]
consistent w/ the C libs, only log server message processing duration at INFO.  log server response processing duration at debug and w/ slighly different wording.  let the processing duration log message act as the indication of a successfully handled message to reduce logging

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2049 9efc2488-bf62-4759-914b-345cdb29e865

9 years agolog message processing duration at INFO level, instead of DEBUG, consistent with...
erickson [Mon, 25 Oct 2010 16:28:23 +0000 (16:28 +0000)]
log message processing duration at INFO level, instead of DEBUG, consistent with the C libs

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2047 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoPlug a minor memory leak that could occur when we opened a TCP connection
scottmk [Thu, 14 Oct 2010 16:30:17 +0000 (16:30 +0000)]
Plug a minor memory leak that could occur when we opened a TCP connection
to a server.  In practice this meant whenever we opened a Jabber session.

We call getaddrinfo() to get a dynamically allocated linked list of
addresses for a given server name.  Then we traverse the list, looking
for one that accepts streaming connections over IPV4, in order to get
an IP address.

At the end, we call freeaddrinfo() to free the linked list.

Previously we would pass to freeaddrinfo() a pointer, not to the
head of the list, but to the node that we used for getting an IP
address.  Prior nodes, if any, would leak.

Also: added calls to freeaddrinfo() in the case of early returns, to
avoid leaking the list in the event of an error.

M    src/libopensrf/socket_bundle.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2036 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoimplemented an optional per-service stderr log for capturing miscellaneous stderr...
erickson [Tue, 12 Oct 2010 14:53:41 +0000 (14:53 +0000)]
implemented an optional per-service stderr log for capturing miscellaneous stderr output from services, similar to the old-style _unix.log files, since there are often useful warnings and error messages that never bubble up to syslog.  for clarity, the files now use _stderr as a suffix instead of _unix.  stderr logs are enabled by default.  included opensrf.xml example of how to disable it for a given service

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2035 9efc2488-bf62-4759-914b-345cdb29e865

9 years agowhen we add xhr responses onto the end of the queue, stash the original session as...
erickson [Tue, 12 Oct 2010 02:58:16 +0000 (02:58 +0000)]
when we add xhr responses onto the end of the queue, stash the original session as well, otherwise we're attempting to ask a session questions about requests it's not tracking

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2031 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoin json encoder, replace 2 sub calls w/ 1 hash lookup in heavily called code path...
erickson [Thu, 7 Oct 2010 12:57:56 +0000 (12:57 +0000)]
in json encoder, replace 2 sub calls w/ 1 hash lookup in heavily called code path.  we lose some abstraction, but it's probably worth it here

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2030 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoWork around a Net::Domain bug that can result in fqdn's like foo.example.com,bar.com
dbs [Tue, 28 Sep 2010 17:35:26 +0000 (17:35 +0000)]
Work around a Net::Domain bug that can result in fqdn's like foo.example.com,bar.com

The bug manifested when trying to run autogen.sh, with the output:
Updating fieldmapper
No Response from settings server...going to sleep

This was because SettingsParser was generating invalid XPath and consquently
errors in the opensrf.settings service; with no response, the attempt to run
autogen.sh would die.

This workaround splits the fqdn on commas and tries each possible domain in
the server setting XPath. Long term we either need to wait for Net::Domain
bug #60729 (https://rt.cpan.org/Public/Bug/Display.html?id=60729) to be
resolved, or consider alternatives.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2029 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoreturn the trace-augmented message as written to the log
miker [Tue, 28 Sep 2010 00:04:19 +0000 (00:04 +0000)]
return the trace-augmented message as written to the log

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2028 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoremoving vestigial references to Inbound.pm, which no longer exists in the repository...
erickson [Mon, 13 Sep 2010 15:44:11 +0000 (15:44 +0000)]
removing vestigial references to Inbound.pm, which no longer exists in the repository.  this also removes get/set_listener, which were never taken advantage of and are no longer of use since the listener is thoroughly hard-coded into the opensrf stack now

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2024 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoBump trunk version number for OpenSRF up to 1.8.0; better than 1.4.0.
dbs [Thu, 9 Sep 2010 17:09:42 +0000 (17:09 +0000)]
Bump trunk version number for OpenSRF up to 1.8.0; better than 1.4.0.

perlmodstyle says "A correct CPAN version number is a floating point
number with at least 2 digits after the decimal." so we're not in
compliance in any case. Oh well.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2023 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoUpdate the manifest for Perl modules to avoid build warnings
dbs [Sun, 5 Sep 2010 02:31:35 +0000 (02:31 +0000)]
Update the manifest for Perl modules to avoid build warnings

r2016 removed two Perl modules, src/perl/lib/OpenSRF/Transport/SlimJabber/Inbound.pm
and src/perl/lib/OpenSRF/UnixServer.pm, and the build gets upset because the
manifest suggests they're missing. But no, we know where they are, and we
don't expect them to come back.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2021 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded support for reading ContinueStatus opensrf messages in the JS opensrf lib
erickson [Wed, 1 Sep 2010 17:34:56 +0000 (17:34 +0000)]
added support for reading ContinueStatus opensrf messages in the JS opensrf lib

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2019 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoupdated mailing address of the FSF
gmc [Wed, 1 Sep 2010 13:56:12 +0000 (13:56 +0000)]
updated mailing address of the FSF

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2018 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoremove executable bit from module files that don't need it
gmc [Wed, 1 Sep 2010 13:43:25 +0000 (13:43 +0000)]
remove executable bit from module files that don't need it

Small nit to pick for Debianization.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2017 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoReplace Net::Server with local pre-forking server
erickson [Wed, 1 Sep 2010 00:17:12 +0000 (00:17 +0000)]
Replace Net::Server with local pre-forking server

Support max/min children and max/min spare children
For more, see http://libmail.georgialibraries.org/pipermail/open-ils-dev/2010-May/006068.html

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2016 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoremove ntp and ntpdate dependencies
gmc [Tue, 31 Aug 2010 20:49:44 +0000 (20:49 +0000)]
remove ntp and ntpdate dependencies

Not used by OpenSRF; these are legacies of
Evergreen dependencies at the time OpenSRF was
split off.  Quite likely a bunch of deps in
Makefile.install aren't needed by OpenSRF
proper.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2015 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoDue to the async nature of xmllhttprequest, processing http responses (which often...
erickson [Wed, 18 Aug 2010 20:11:18 +0000 (20:11 +0000)]
Due to the async nature of xmllhttprequest, processing http responses (which often lead to further async-request laden callbacks) at receive time can result in out-of-order message handling.  To bring order to this chaos, push all inbound message onto a queue, then go back to processing the older messages in order of oldest to newest.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2008 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoA few minor tweaks in the name of const-correctness.
scottmk [Mon, 16 Aug 2010 16:27:32 +0000 (16:27 +0000)]
A few minor tweaks in the name of const-correctness.

M    src/router/osrf_router_main.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2007 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoSeveral minor and inconsequential changes:
scottmk [Mon, 16 Aug 2010 15:18:08 +0000 (15:18 +0000)]
Several minor and inconsequential changes:

1. Tidied up the white space in a few places.

2. Commented out several unused functions, used only for development,
in order to eliminate some annoying compiler warnings.

3. Added the const qualifier to several variables.

4. Added three branches to a switch/case structure, in order to
eliminate some compiler warnings about untested enum values.  The
new branches merely issue warning messages to the log (presumably
we don't expect to see RESULT or STATUS messages in this
context).

M    src/gateway/osrf_http_translator.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2006 9efc2488-bf62-4759-914b-345cdb29e865

9 years ago1. Pedantic change for const-correctness: replaced all calls to
scottmk [Sun, 15 Aug 2010 00:57:53 +0000 (00:57 +0000)]
1. Pedantic change for const-correctness: replaced all calls to
jsonObjectGetKey() with calls to jsonObjectGetKeyConst().

2. Tidied up white space and comments here and there.

M    src/router/osrf_router_main.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2005 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoPedantic change for const-correctness: change three calls to
scottmk [Sat, 14 Aug 2010 21:38:11 +0000 (21:38 +0000)]
Pedantic change for const-correctness: change three calls to
jsonObjectGetKey() to call jsonObjectGetKeyConst() instead.

M    src/gateway/osrf_http_translator.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2004 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoPedantic change for const-correctness: replace two calls to
scottmk [Sat, 14 Aug 2010 21:14:55 +0000 (21:14 +0000)]
Pedantic change for const-correctness: replace two calls to
jsonObjectGetKey() with calls to jsonObjectGetKeyConst().

M    src/libopensrf/osrf_parse_json.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2003 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMinor performance tweak: replace a call to buffer_add()
scottmk [Sat, 14 Aug 2010 20:48:08 +0000 (20:48 +0000)]
Minor performance tweak: replace a call to buffer_add()
with a call to buffer_add_n().

In this case we already know how many characters to add,
so we can avoid a call to strlen().

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2002 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd some macros for upward compatibility from the old JSON parser.
scottmk [Sat, 14 Aug 2010 11:33:08 +0000 (11:33 +0000)]
Add some macros for upward compatibility from the old JSON parser.

These macros map the old functions to the equivalent new ones.

M    include/opensrf/osrf_json.h

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2001 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoEliminate the old JSON parser, implemented in osrf_json_parser.c and
scottmk [Sat, 14 Aug 2010 11:09:47 +0000 (11:09 +0000)]
Eliminate the old JSON parser, implemented in osrf_json_parser.c and
the associated header osrf_json_utils.h.

This parser has been completely replaced by a newer one implemented
in osrf_parse_json.c, plus an incremental JSON parser (so far
unused) in jsonpush.c..

The even older parser of JSON-with-comments is not affected.

D    include/opensrf/osrf_json_utils.h
M    include/opensrf/osrf_json.h
D    src/libopensrf/osrf_json_parser.c
M    src/libopensrf/osrf_json_object.c
M    src/libopensrf/Makefile.json
M    src/libopensrf/osrf_json_tools.c
M    src/libopensrf/Makefile.am
M    src/libopensrf/osrf_parse_json.c
M    Makefile.am

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@2000 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoGet the extra_debs into Squeeze as well; fix a typo in libmemcached-tools
dbs [Fri, 13 Aug 2010 17:21:51 +0000 (17:21 +0000)]
Get the extra_debs into Squeeze as well; fix a typo in libmemcached-tools

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1999 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMake the names of the rules for installing extra Squeeze debs line up
dbs [Fri, 13 Aug 2010 16:31:12 +0000 (16:31 +0000)]
Make the names of the rules for installing extra Squeeze debs line up

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1998 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMake log length in Perl logger a configurable value to assist debugging
dbs [Fri, 13 Aug 2010 16:20:01 +0000 (16:20 +0000)]
Make log length in Perl logger a configurable value to assist debugging

If logging to syslog instead of a file, you might need to adjust the
syslog configuration to accept longer than its own default lengths of
log messages

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1997 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMinor cleanup:
scottmk [Fri, 13 Aug 2010 16:16:25 +0000 (16:16 +0000)]
Minor cleanup:

Changed two calls to buffer_add(), when appending a single character,
to call buffer_add_char() instead, which is slightly more efficient.

M    src/srfsh/srfsh.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1996 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoFirst cut at adding Debian Squeeze to OpenSRF prerequisite installer
dbs [Fri, 13 Aug 2010 16:16:05 +0000 (16:16 +0000)]
First cut at adding Debian Squeeze to OpenSRF prerequisite installer

Along the way, make a few other changes:
  * drop Debian Etch and Gentoo support
  * add dscott@laurentian.ca to the author list
  * remove Class::DBI as that's actually a prereq for Evergreen, not OpenSRF

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1995 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdding comments and tinkering with white space.
scottmk [Wed, 11 Aug 2010 02:58:25 +0000 (02:58 +0000)]
Adding comments and tinkering with white space.
No substantive changes.

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1994 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoProvide a way for a service to set the effective buffer size for a
scottmk [Tue, 10 Aug 2010 02:13:39 +0000 (02:13 +0000)]
Provide a way for a service to set the effective buffer size for a
specified method.

Non-atomic methods accumulate RESULT messages into a buffer, from which
they are flushed when the buffer is about to overflow, or when the
closing STATUS message is issued.

The new osrfMethodSetBufferSize() function allows the service to favor
large buffers (for greater throughput) or small ones (for a lower
latency for the first response).

Since the buffersize is not an absolute limit, the effective buffer
size may be set to zero, in which case each RESULT message will be
packaged and sent in a separate XMPP message as soon as it is ready.

Changing the buffer size has no effect on an atomic method, nor on a
method that returns only one RESULT message.

M    include/opensrf/osrf_application.h
M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1993 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoCruft removal; there should be no outwardly visible effects.
scottmk [Mon, 9 Aug 2010 16:18:05 +0000 (16:18 +0000)]
Cruft removal; there should be no outwardly visible effects.

1. Remove the OSRF_METHOD_ATOMIC and OSRF_METHOD_SYSTEM options
from the interface functions osrfRegisterMethod() and
osrfRegisterExtendedMethod().

An application cannot usefully apply these options when it registers
a method, and if it tries, it will almost certainly not work as
intended anyway.

This change required considerable refactoring of the code
responsible for registering methods.

2. When the attempt to initialize an application fails, remove
the application from the application list and destroy it,
instead of keeping it around in an unusable state.

3. Eliminate some redundant lookups of application by name
when registering system methods.

M    include/opensrf/osrf_application.h
M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1992 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoFixed a bug in the chunking.
scottmk [Mon, 9 Aug 2010 12:31:33 +0000 (12:31 +0000)]
Fixed a bug in the chunking.

Short version: The non-atomic system methods weren't working.  Now
they are.

Long version: When a method returns a value greater than zero, a
post-processing step sends a STATUS message to signify that the
response is complete.  In the old code this post-processing
bypassed the buffer-flushing step, so that anything still in the
buffer didn't get sent.

The non-atomic system methods returned positive return codes and
were therefore subject to this problem.  I don't know if any
non-system methods return postive return codes, but if they do,
they would also have been affected.

M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1991 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoset transaction ID by default to make it easier to trace requests from srfsh
gmc [Thu, 5 Aug 2010 17:40:45 +0000 (17:40 +0000)]
set transaction ID by default to make it easier to trace requests from srfsh

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1990 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoalways use respond_complete to finish a request, whether there is a final message...
miker [Wed, 4 Aug 2010 17:32:20 +0000 (17:32 +0000)]
always use respond_complete to finish a request, whether there is a final message or not

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1989 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoImplement the chunking of OSRF messages. I.e. bundle multiple
scottmk [Wed, 4 Aug 2010 03:20:33 +0000 (03:20 +0000)]
Implement the chunking of OSRF messages.  I.e. bundle multiple
OSRF messages into an XMPP message, up to about 10k bytes, so
as to reduce networking overhead.

M    include/opensrf/osrf_application.h
M    src/libopensrf/osrf_application.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1988 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMike, when adding the length, actually add the length, not the string
miker [Tue, 3 Aug 2010 02:47:00 +0000 (02:47 +0000)]
Mike, when adding the length, actually add the length, not the string

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1987 9efc2488-bf62-4759-914b-345cdb29e865

9 years ago1. Add a buffer to osrfAppSession structure; for future use
scottmk [Thu, 29 Jul 2010 19:38:21 +0000 (19:38 +0000)]
1. Add a buffer to osrfAppSession structure; for future use

2. New function osrfSendTransportPayload().  This a repackaging of
existing functionality pulled out into a separate function so that
it can be reused in other contexts.

These changes are preparation for future changes, and will have no
visible effect by themselves.

M    include/opensrf/osrf_app_session.h
M    src/libopensrf/osrf_app_session.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1986 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd response chunking support to the Perl implementation of OpenSRF
miker [Thu, 29 Jul 2010 17:40:03 +0000 (17:40 +0000)]
Add response chunking support to the Perl implementation of OpenSRF

Two new optional paramters to register_method are now supported:
 * max_chunk_size
 * max_chunk_count

OpenSRF has always supported message bundling, but only respond_complete made
use of this fact by sending the final result message and the completion status
message in the same XMPP envelope.  Now, on a per method basis, RESULT messages
can be bundled (cached) until one of three conditions occurs:

 * The size of the JSON of the RESULT messages matches or exceeds max_chunk_size
 * The number of RESULT messages cached matches or exceeds max_chunk_count
 * respond_complete is called (which happens implicitly by returning from a method)

Because the overhead of sending multiple XMPP messages far outweighs the caching
and cache management costs of chunking, the default for max_chunk_size is set
at 10240 bytes (10k).  The default for max_chunk_count is 0.  To turn off chunking
completely, set the max_chunk_size register_method parameter to 0.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1985 9efc2488-bf62-4759-914b-345cdb29e865

9 years ago1. Make osrfMessageToJSON() available at global scope.
scottmk [Thu, 29 Jul 2010 14:24:58 +0000 (14:24 +0000)]
1. Make osrfMessageToJSON() available at global scope.

2. New function osrf_message_set_result() -- a more efficient alternative
to osrf_message_set_result_content().

Typically when using the older function, we convert a jsonObject to JSON
text, and then parse the JSON text back into a jsonObject.  With the new
function we can avoid the round trip through the text format.

M    include/opensrf/osrf_message.h
M    src/libopensrf/osrf_message.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1984 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoWhitespace / description cleanup
dbs [Tue, 13 Jul 2010 06:11:14 +0000 (06:11 +0000)]
Whitespace / description cleanup

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1983 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoTeach opensrf-perl.pl the same PID directory as osrf_ctl.sh
dbs [Tue, 13 Jul 2010 06:10:48 +0000 (06:10 +0000)]
Teach opensrf-perl.pl the same PID directory as osrf_ctl.sh

This should cut down on one more command-line option when working
with individual Perl services.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1982 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoTypo fix to display all OpenSRF methods: sysemt -> system
dbs [Tue, 13 Jul 2010 06:09:14 +0000 (06:09 +0000)]
Typo fix to display all OpenSRF methods: sysemt -> system

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1981 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoRecent testing has been with libmemcached 0.40; bring that into line
dbs [Thu, 1 Jul 2010 04:09:56 +0000 (04:09 +0000)]
Recent testing has been with libmemcached 0.40; bring that into line

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1975 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMove on up to Lucid; drop Karmic along the way
dbs [Thu, 1 Jul 2010 02:56:28 +0000 (02:56 +0000)]
Move on up to Lucid; drop Karmic along the way

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1974 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoProvide a mechanism whereby a server drone can terminate immediately,
scottmk [Thu, 24 Jun 2010 16:56:45 +0000 (16:56 +0000)]
Provide a mechanism whereby a server drone can terminate immediately,
without waiting for max_requests or a DISCONNECT message.

Motivation: a drone may determine that it is incapacitated and can neither
complete the current request nor service subsequent ones.

In particular, it may lose a database connection.

Mechanism: set a switch in the current osrfAppSession.  In osrf_prefork.c,
inspect this switch after every method call, and bail out if it's set.

M    include/opensrf/osrf_app_session.h
M    src/libopensrf/osrf_app_session.c
M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1969 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd a bit of bulletproofing.
scottmk [Tue, 22 Jun 2010 15:35:03 +0000 (15:35 +0000)]
Add a bit of bulletproofing.

When a drone finishes servicing a request, it writes a brief message
to a pipe, to notify the listener that it's available for another request.

Change: if the write to the pipe is not successful, log an error message
and terminate.  Otherwise the drone would become undead and unreachable.

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1968 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoRearrange the way that a listener juggles its drones.
scottmk [Tue, 22 Jun 2010 04:23:09 +0000 (04:23 +0000)]
Rearrange the way that a listener juggles its drones.

Instead of maintaining a single circular linked list including both active
processes and idle processes, keep the active drones in the circular list
and the idle drones in a separate linear list; move them back and forth
as needed.  This change simplifies how we search for drones when we need
them, because we don't have to skip over ones that we don't want.

The list of idle drones acts as a stack.  When we look for an idle drone
for a new request, we pick the one at the head of the list, which is the
last one to have become idle.

As a result, we pick the drone that is most likely still to be in memory.

In the old arrangment, the list acted as a queue.  When picking an idle
drone, we picked the one that had been idle the longest -- which was the
one most likely to have been swapped out.

Also: added a number of doxygen-style comments, and tinkered with the
white space here and there.

Note: an earlier commit tried to make similar changes, but it had to be
backed out because it mangled the linkage pointers in some situations,
leading to segfaults.  That problem has now been corrected.

M    src/libopensrf/osrf_prefork.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1967 9efc2488-bf62-4759-914b-345cdb29e865

9 years ago1. Changed an error message to make it clearer. This is the message that
scottmk [Thu, 17 Jun 2010 13:50:29 +0000 (13:50 +0000)]
1. Changed an error message to make it clearer.  This is the message that
relays an error message from the Jabber server.

2. Tidied up some white space.

M    src/libopensrf/transport_session.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1966 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoRemove cruft - unused definitions of DEF_RECV_TIMEOUT and DEF_QUEUE_SIZE
dbs [Wed, 16 Jun 2010 02:44:57 +0000 (02:44 +0000)]
Remove cruft - unused definitions of DEF_RECV_TIMEOUT and DEF_QUEUE_SIZE

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1965 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoMerge updated Makefile.install patch from Lee Dickens <ldickens@esilibrary.com>
dbs [Wed, 16 Jun 2010 00:43:32 +0000 (00:43 +0000)]
Merge updated Makefile.install patch from Lee Dickens <ldickens@esilibrary.com>

Lee's patch moves some Perl modules from RPM installs to CPAN installs.

Also merging my own patch to break lengthy ejabberd install process out onto
multiple lines; will be easier to read + to patch if the time comes.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1964 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoRename example Apache configuration file to include ".conf" suffix
dbs [Tue, 15 Jun 2010 14:03:58 +0000 (14:03 +0000)]
Rename example Apache configuration file to include ".conf" suffix

This is useful on systems like Fedora that require the .conf suffix to act
on files in a conf.d subdirectory, and is generally useful for visually
distinguishing the purpose of the file.

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1963 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoApply patch from Lee Dickens <ldickens@esilibrary.com> for better RHEL5/CentOS prereq...
dbs [Tue, 15 Jun 2010 10:32:59 +0000 (10:32 +0000)]
Apply patch from Lee Dickens <ldickens@esilibrary.com> for better RHEL5/CentOS prereq support

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1962 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoTeach autoconf about Fedora-ish default locations
dbs [Tue, 15 Jun 2010 03:13:41 +0000 (03:13 +0000)]
Teach autoconf about Fedora-ish default locations

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1961 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoA few more Python dependencies that we don't need to compile
dbs [Tue, 15 Jun 2010 02:38:23 +0000 (02:38 +0000)]
A few more Python dependencies that we don't need to compile

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1960 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoAdd in a few dependencies for Fedora 13
dbs [Tue, 15 Jun 2010 02:23:39 +0000 (02:23 +0000)]
Add in a few dependencies for Fedora 13

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1959 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoFirst rough attempt at Fedora 13 support
dbs [Tue, 15 Jun 2010 02:04:38 +0000 (02:04 +0000)]
First rough attempt at Fedora 13 support

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1958 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoWhen traversing a list of osrfMessages: don't free the messages.
scottmk [Mon, 14 Jun 2010 18:31:32 +0000 (18:31 +0000)]
When traversing a list of osrfMessages: don't free the messages.
The list owns them.  Instead, get the list to free them when
you're done, by calling osrfListClear().

M    src/router/osrf_router.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1957 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoadded some debugging / sanity checks to python gateway response handler
erickson [Sun, 23 May 2010 22:26:09 +0000 (22:26 +0000)]
added some debugging / sanity checks to python gateway response handler

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1956 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoEliminate the daemonize_write_pid function (thereby reverting a
scottmk [Fri, 7 May 2010 20:18:36 +0000 (20:18 +0000)]
Eliminate the daemonize_write_pid function (thereby reverting a
previous change).

It works better, and is less convoluted, to write the PID file from
the child process instead of from the parent process.

M    include/opensrf/utils.h
M    src/libopensrf/utils.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1955 9efc2488-bf62-4759-914b-345cdb29e865

9 years agoWrite the PID file from the child process (the one that launches the
scottmk [Fri, 7 May 2010 16:40:35 +0000 (16:40 +0000)]
Write the PID file from the child process (the one that launches the
listeners), not from the parent process; and only if it actually launches
a listener.

Otherwise if there are no C apps to launch, the child would die immediately,
leaving the PID file hanging around to confuse the surrounding shell script.

M    src/libopensrf/osrf_system.c

git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@1954 9efc2488-bf62-4759-914b-345cdb29e865