Module Name:    src
Committed By:   snj
Date:           Sun Jul 23 06:00:39 UTC 2017

Modified Files:
        src/sys/modules/lua [netbsd-7]: lua.c

Log Message:
Pull up following revision(s) (requested by mbalmer in ticket #1422):
        sys/modules/lua/lua.c: revision 1.22 via patch
Only load a module if it is not already loaded in a state (much like
userland Lua handles require).
Fixes PR kern/52226.


To generate a diff of this commit:
cvs rdiff -u -r1.13.2.4 -r1.13.2.5 src/sys/modules/lua/lua.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/modules/lua/lua.c
diff -u src/sys/modules/lua/lua.c:1.13.2.4 src/sys/modules/lua/lua.c:1.13.2.5
--- src/sys/modules/lua/lua.c:1.13.2.4	Sun Jul 23 05:55:03 2017
+++ src/sys/modules/lua/lua.c	Sun Jul 23 06:00:39 2017
@@ -1,8 +1,8 @@
-/*	$NetBSD: lua.c,v 1.13.2.4 2017/07/23 05:55:03 snj Exp $ */
+/*	$NetBSD: lua.c,v 1.13.2.5 2017/07/23 06:00:39 snj Exp $ */
 
 /*
+ * Copyright (c) 2011 - 2017 by Marc Balmer <mbal...@netbsd.org>.
  * Copyright (c) 2014 by Lourival Vieira Neto <ln...@netbsd.org>.
- * Copyright (c) 2011, 2013 by Marc Balmer <mbal...@netbsd.org>.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -513,6 +513,10 @@ lua_require(lua_State *L)
 	if (md != NULL)
 		LIST_FOREACH(s, &lua_states, lua_next)
 			if (s->K->L == L) {
+				LIST_FOREACH(m, &s->lua_modules, mod_next)
+					if (m == md)
+						return 1;
+
 				if (lua_verbose)
 					device_printf(sc_self,
 					    "require module %s\n",

Reply via email to