PERFORCE change 102905 for review
Roman Divacky
rdivacky at FreeBSD.org
Tue Aug 1 08:55:00 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=102905
Change 102905 by rdivacky at rdivacky_witten on 2006/08/01 08:54:21
Install/deinstall ntpl-related stuff in module loading/unloading only in a case
of previous success.
Affected files ...
.. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysvec.c#12 edit
Differences ...
==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux_sysvec.c#12 (text+ko) ====
@@ -916,20 +916,20 @@
linux_ioctl_register_handler(*lihp);
SET_FOREACH(ldhp, linux_device_handler_set)
linux_device_register_handler(*ldhp);
+ SLIST_INIT(&emuldata_head);
+ rw_init(&emul_lock, "emuldata lock");
+ LIST_INIT(&futex_list);
+ mtx_init(&futex_mtx, "futex protection lock", NULL, MTX_DEF);
+ linux_exit_tag = EVENTHANDLER_REGISTER(process_exit, linux_proc_exit,
+ NULL, 1000);
+ linux_schedtail_tag = EVENTHANDLER_REGISTER(schedtail, linux_schedtail,
+ NULL, 1000);
+ linux_exec_tag = EVENTHANDLER_REGISTER(process_exec, linux_proc_exec,
+ NULL, 1000);
if (bootverbose)
printf("Linux ELF exec handler installed\n");
} else
printf("cannot insert Linux ELF brand handler\n");
- SLIST_INIT(&emuldata_head);
- rw_init(&emul_lock, "emuldata lock");
- LIST_INIT(&futex_list);
- mtx_init(&futex_mtx, "futex protection lock", NULL, MTX_DEF);
- linux_exit_tag = EVENTHANDLER_REGISTER(process_exit, linux_proc_exit,
- NULL, 1000);
- linux_schedtail_tag = EVENTHANDLER_REGISTER(schedtail, linux_schedtail,
- NULL, 1000);
- linux_exec_tag = EVENTHANDLER_REGISTER(process_exec, linux_proc_exec,
- NULL, 1000);
break;
case MOD_UNLOAD:
for (brandinfo = &linux_brandlist[0]; *brandinfo != NULL;
@@ -947,17 +947,17 @@
linux_ioctl_unregister_handler(*lihp);
SET_FOREACH(ldhp, linux_device_handler_set)
linux_device_unregister_handler(*ldhp);
+ rw_destroy(&emul_lock);
+ mtx_destroy(&futex_mtx);
+ EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
+ EVENTHANDLER_DEREGISTER(schedtail, linux_schedtail_tag);
+ EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag);
+ printf("Emuldata slist empty: %i\n", SLIST_EMPTY(&emuldata_head));
+ printf("Futex slist empty: %i\n", LIST_EMPTY(&futex_list));
if (bootverbose)
printf("Linux ELF exec handler removed\n");
} else
printf("Could not deinstall ELF interpreter entry\n");
- rw_destroy(&emul_lock);
- mtx_destroy(&futex_mtx);
- EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
- EVENTHANDLER_DEREGISTER(schedtail, linux_schedtail_tag);
- EVENTHANDLER_DEREGISTER(process_exec, linux_exec_tag);
- printf("Emuldata slist empty: %i\n", SLIST_EMPTY(&emuldata_head));
- printf("Futex slist empty: %i\n", LIST_EMPTY(&futex_list));
break;
default:
return EOPNOTSUPP;
More information about the p4-projects
mailing list