[svn:mod_parrot] r626 - mod_parrot/trunk/lib/ModParrot/HLL

[email protected] Sun, 12 Apr 2009 07:32:52 -0700 (PDT)
Newsgroups perl.cvs.mod_parrot
Message-ID <[email protected]>
Author: jhorwitz
Date: Sun Apr 12 07:32:52 2009
New Revision: 626

Modified:
   mod_parrot/trunk/lib/ModParrot/HLL/pir.pir

Log:
add experimental ParrotInterp directive


Modified: mod_parrot/trunk/lib/ModParrot/HLL/pir.pir
==============================================================================
--- mod_parrot/trunk/lib/ModParrot/HLL/pir.pir	(original)
+++ mod_parrot/trunk/lib/ModParrot/HLL/pir.pir	Sun Apr 12 07:32:52 2009
@@ -25,6 +25,8 @@
 
     cmds = new 'ResizablePMCArray'
 
+    $P0 = new_cmd('ParrotInterp', 'TAKE1', 'cmd_parrotinterp', 'RSRC_CONF', 'usage: ParrotInterp pool-name')
+    cmds.'push'($P0)
     $P0 = new_cmd('ParrotOpenLogsHandler', 'TAKE1', 'cmd_parrotopenlogshandler', 'RSRC_CONF', 'usage: ParrotOpenLogsHandler handler-name')
     cmds.'push'($P0)
     $P0 = new_cmd('ParrotPostConfigHandler', 'TAKE1', 'cmd_parrotpostconfighandler', 'RSRC_CONF', 'usage: ParrotPostConfigHandler handler-name')
@@ -117,8 +119,25 @@
 #.sub server_merge
 #.end
 
-#.sub dir_merge
-#.end
+.sub dir_merge
+    .param pmc basecfg
+    .param pmc newcfg
+
+    .return(newcfg)
+.end
+
+.sub cmd_parrotinterp
+    .param pmc parms
+    .param pmc dircfg
+    .param pmc args
+    .local pmc ctx, cfg, set_pool
+
+    ctx = new ['ModParrot'; 'Context']
+    cfg = ctx.'raw_srv_config'()
+    set_pool = get_root_global ['ModParrot'; 'NCI'], 'set_config_ctx_pool'
+    $S0 = args[0]
+    set_pool(cfg, $S0)
+.end
 
 .sub cmd_parrotopenlogshandler
     .param pmc parms