+2004-02-16 Tom Yu <tlyu@mit.edu>
+
+ * configure.in: Invoke KRB5_AC_PRIOCNTL_HACK.
+
2003-12-27 Ken Raeburn <raeburn@mit.edu>
* Makefile.in (LOCAL_SUBDIRS): Fix typo in last (undocumented)
fi
AC_SUBST(DO_ALL)
KRB5_BUILD_PROGRAM
+KRB5_AC_PRIOCNTL_HACK
dnl
K5_GEN_FILE(testing/scripts/env-setup.sh:testing/scripts/env-setup.shin)
V5_AC_OUTPUT_MAKEFILE(. cli dbutil passwd passwd/unit-test ktutil server testing testing/scripts testing/util)
+2004-02-16 Tom Yu <tlyu@mit.edu>
+
+ * Makefile.in (unit-test-body): Add PRIOCNTL_HACK.
+
+ * config/unix.exp: Add PRIOCNTL_HACK.
+
2003-05-09 Tom Yu <tlyu@mit.edu>
* kpasswd.0/changing.exp: Replace ovpasswd with kpasswd.
unit-test-body::
$(ENV_SETUP) $(RUNTEST) --tool kpasswd KPASSWD=../kpasswd \
KINIT=$(BUILDTOP)/clients/kinit/kinit \
- KDESTROY=$(BUILDTOP)/clients/kdestroy/kdestroy
+ KDESTROY=$(BUILDTOP)/clients/kdestroy/kdestroy \
+ PRIOCNTL_HACK=@PRIOCNTL_HACK@
unit-test-setup::
$(ENV_SETUP) $(START_SERVERS)
+# Hack around Solaris 9 kernel race condition that causes last output
+# from a pty to get dropped.
+if { $PRIOCNTL_HACK } {
+ catch {exec priocntl -s -c FX -m 30 -p 30 -i pid [getpid]}
+ rename spawn oldspawn
+ proc spawn { args } {
+ upvar 1 spawn_id spawn_id
+ set newargs {}
+ set inflags 1
+ set eatnext 0
+ foreach arg $args {
+ if { $arg == "-ignore" \
+ || $arg == "-open" \
+ || $arg == "-leaveopen" } {
+ lappend newargs $arg
+ set eatnext 1
+ continue
+ }
+ if [string match "-*" $arg] {
+ lappend newargs $arg
+ continue
+ }
+ if { $eatnext } {
+ set eatnext 0
+ lappend newargs $arg
+ continue
+ }
+ if { $inflags } {
+ set inflags 0
+ set newargs [concat $newargs {priocntl -e -c FX -p 0}]
+ }
+ lappend newargs $arg
+ }
+ set pid [eval oldspawn $newargs]
+ return $pid
+ }
+}
+
#
# kpasswd_version -- extract and print the version number of kpasswd
#