I'm trying to write som shell scripts for scripting driver on SLES 11.
In heartbeat.sh (this is part, which i use from examples of authors) i
call function HEARTBEAT_SUCCESS,
which do this:
printf %s 'IDMSETVAR: STATUS_TYPE=heartbeat'
|/opt/novell/usdrv/bin/ussmh -pub-write
And then in /var/log/messages i see this line:
May 14 12:37:38 driver ussmh[15110]: NIX008S The shared memory tool was
unable to retrieve a key from the environment.

Version of driver which i'm using: Novell Identity Manager Integration
Module for Scripting, version 3.6.1, build 20091216_1602

And i have second problem with function IDMQUERY, which i need in
poll.sh:
IDMQUERY()
{
idmquery_class=$1
idmquery_assoc=$2
idmquery_read_attrs=$3

printf "%s" "IDMQUERY: BEGIN" | ${INSTALL_PATH}bin/ussmh -write
printf "%s" "IDMQUERY: COMMAND=query" | ${INSTALL_PATH}bin/ussmh
-write
printf "%s" "IDMQUERY: SCOPE=entry" | ${INSTALL_PATH}bin/ussmh
-write
printf "%s" "IDMQUERY: CLASS_NAME=$idmquery_class" |
${INSTALL_PATH}bin/ussmh -write
printf "%s" "IDMQUERY: ASSOCIATION=$idmquery_assoc" |
${INSTALL_PATH}bin/ussmh -write

# specifying no read-attrs returns everything
if [ -n "$idmquery_read_attrs" ]; then
printf "%s" "IDMQUERY: READ_ATTRS=$idmquery_read_attrs" |
${INSTALL_PATH}bin/ussmh -write
fi

printf "%s" "IDMQUERY: END" | ${INSTALL_PATH}bin/ussmh -write

# wait for query to complete
${INSTALL_PATH}bin/ussmh -wait-for-query
}

First part, with lines "ussmh -write" works OK. Function stops at the
end, where is waiting for result.
ussmh -wait-for-query never ends...
I tried strace this proccess, but i didn't see anything helpfull:

[...]
futex(0xffe6c440, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0xffe6c440, 0x189 /* FUTEX_??? */, 1, NULL, ffe6c450) = -1 EAGAIN
(Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x4f770f420, [],
SA_RESTORER|SA_RESTART|SA_INTERRUPT|SA_NODEFER|SA_ RESETHAND|0x3754ab8,
(nil)}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x10000004f770f920, [],
SA_RESTORER|SA_RESTART|SA_INTERRUPT|SA_NODEFER|SA_ RESETHAND|0x3754ab8,
(nil)}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=-4286578688,
rlim_max=-616377473977810928}) = 0
uname({sys="Linux", node="driver", ...}) = 0
brk(0) = 0x811c000
brk(0x813d000) = 0x813d000
stat64("/opt/novell/usdrv//keys/lpwd1f40", {st_mode=S_IFREG|0666,
st_size=20, ...}) = 0
msgget(0x6400803e, 0600) = 32768
msgrcv(32768,

At this moment ussmh stops and is waiting forever.
I think, but i'm not sure, this problem have the same origin as error
NIX008S.

Can someone help with this, please?


--
jpolacek
------------------------------------------------------------------------
jpolacek's Profile: http://forums.novell.com/member.php?userid=61575
View this thread: http://forums.novell.com/showthread.php?t=455839