2 <html lang="en-us" itemscope itemtype="http://schema.org/Article">
5 <meta name="description" content=" Continued to help several users with connecting to the new Controller Clearquest Database for Vinh's users Added Version Tree button to the bin_merge prompt dialog box. Resolved problem with forking from PerlTk...">
6 <meta name="generator" content="Movable Type 5.2.3">
7 <title>Forking in PerlTk - Status</title>
8 <link rel="alternate" type="application/atom+xml" title="Recent Entries" href="http://defaria.com/blogs/Status/atom.xml">
9 <link rel="canonical" href="http://defaria.com/blogs/Status/2005/11/forking-in-perl.html">
10 <meta name="viewport" content="width=device-width,initial-scale=1">
11 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles.css">
13 <link rel="stylesheet" href="http://defaria.com/blogs/Status/styles_ie.css">
14 <script src="/mt/mt-static/support/theme_static/rainier/js/html5shiv.js"></script>
17 <link rel="start" href="http://defaria.com/blogs/Status/">
19 <link rel="prev" href="http://defaria.com/blogs/Status/2005/11/remaining-pqa-i.html" title="Remaining PQA Issues/GNATS stripmime">
20 <link rel="next" href="http://defaria.com/blogs/Status/2005/11/bin-mergecreate.html" title="bin_merge/create_snapshot_view/PQA">
21 <!-- Open Graph Protocol -->
22 <meta property="og:type" content="article">
23 <meta property="og:locale" content="en-us">
24 <meta property="og:title" content="Forking in PerlTk">
25 <meta property="og:url" content="http://defaria.com/blogs/Status/2005/11/forking-in-perl.html">
26 <meta property="og:description" content=" Continued to help several users with connecting to the new Controller Clearquest Database for Vinh's users Added Version Tree button to the bin_merge prompt dialog box. Resolved problem with forking from PerlTk...">
27 <meta property="og:site_name" content="Status">
28 <meta property="og:image" content="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
30 <meta itemprop="description" content=" Continued to help several users with connecting to the new Controller Clearquest Database for Vinh's users Added Version Tree button to the bin_merge prompt dialog box. Resolved problem with forking from PerlTk...">
31 <link itemprop="url" href="http://defaria.com/blogs/Status/2005/11/forking-in-perl.html">
32 <link itemprop="image" href="/mt/mt-static/support/theme_static/rainier/img/siteicon-sample.png">
37 <div id="container-inner">
38 <header id="header" role="banner">
39 <div id="header-inner">
40 <div id="header-content">
42 <a href="http://defaria.com/blogs/Status/">
51 <nav role="navigation">
53 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
62 <div id="content-inner">
63 <ul class="breadcrumb breadcrumb-list">
64 <li class="breadcrumb-list-item"><a href="http://defaria.com/blogs/Status/">Home</a></li>
65 <li class="breadcrumb-list-item">Forking in PerlTk</li>
67 <div id="individual-main" class="main" role="main">
68 <article id="entry-1748" class="entry entry-asset asset hentry">
69 <div class="asset-header">
70 <h2 itemprop="name" class="asset-name entry-title">Forking in PerlTk</h2>
71 <footer class="asset-meta">
72 <ul class="asset-meta-list">
73 <li class="asset-meta-list-item">Posted on <time datetime="2005-11-23T13:59:39-08:00" itemprop="datePublished">November 23, 2005</time></li>
74 <li class="asset-meta-list-item">by <span class="author entry-author vcard"></span></li>
77 <li class="asset-meta-list-item">in <a itemprop="articleSection" rel="tag" href="http://defaria.com/blogs/Status/broadcom/">Broadcom</a></li>
83 <div class="entry-content asset-content" itemprop="articleBody">
85 <li>Continued to help several users with connecting to the new Controller Clearquest Database for Vinh's users</li>
87 <li>Added Version Tree button to the bin_merge prompt dialog box.</li>
89 <li>Resolved problem with forking from PerlTk</li>
91 <h2>Forking in PerlTk</h2>
93 <p>The issue here is that calling fork(2) in general on Windows just doesn't work well. Clearcase's Perl is based on ActiveState Perl and ActiveState Perl is not the best implementation of Perl. Cygwin's Perl is by far a much better implementation but Cygwin's Perl works from a true Posix environment which is specifically what Cygwin is all about. However Cygwin's Perl does not support PerlTk (I posted on Cygwin's mailing list about this - it would be great if Cygwin would finally support PerlTk) and Cygwin would need to be present on all Windows systems.</p>
95 <p>In general, while fork(2) does work under ActiveState is does not work if you have Tk objects created. Chris had suggested to use "start <program>" which is fine - for Windows - but would fail in Unix. I like to wrote my code such that it works on both Windows and Unix. So I tried in vain to get fork to work. However, ActiveState's fork(2) call is horribly broken so I had to code around it like this:</p>
97 <div class="code"><pre>
101 my $cmd = "cleartool lsvtree -graphical $file";
103 if ($^O =~ /mswin|cygwin/i) {
104 system "start /b $cmd";
116 <nav class="page-navigation entry-navigation pagination content-nav">
117 <ul class="page-navigation-list">
119 <li class="page-navigation-list-item page-navigation-prev"><a rel="prev" href="http://defaria.com/blogs/Status/2005/11/remaining-pqa-i.html" title="Remaining PQA Issues/GNATS stripmime">Previous entry</a></li>
122 <li class="page-navigation-list-item page-navigation-next"><a rel="next" href="http://defaria.com/blogs/Status/2005/11/bin-mergecreate.html" title="bin_merge/create_snapshot_view/PQA">Next entry</a></li>
127 <aside id="zenback" class="zenback feedback">
128 Please paste Zenback script code here.
135 <aside class="widgets related" role="complementary">
136 <nav class="widget-search widget">
137 <div class="widget-content">
138 <form method="get" id="search" action="http://defaria.com/mt/mt-search.cgi">
140 <input type="text" name="search" value="" placeholder="Search...">
142 <input type="hidden" name="IncludeBlogs" value="8">
144 <input type="hidden" name="limit" value="20">
145 <button type="submit" name="button">
146 <img alt="Search" src="/mt/mt-static/support/theme_static/rainier/img/search-icon.png">
152 <nav class="widget-archive-category widget">
153 <h3 class="widget-header">Categories</h3>
154 <div class="widget-content">
157 <ul class="widget-list">
160 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/ameriquest/">Ameriquest (99)</a>
168 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/audience/">Audience (3)</a>
176 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/broadcom/">Broadcom (76)</a>
184 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/gpdb/">GPDB (35)</a>
192 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-dynamics/">General Dynamics (61)</a>
200 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/general-electric/">General Electric (13)</a>
208 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/hewlett-packard/">Hewlett Packard (13)</a>
216 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/lynuxworks/">LynuxWorks (162)</a>
224 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/pqa/">PQA (35)</a>
232 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/salira/">Salira (79)</a>
240 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/tellabs/">Tellabs (2)</a>
248 <li class="widget-list-item"><a href="http://defaria.com/blogs/Status/texas-instruments/">Texas Instruments (31)</a>
260 <nav class="widget-archive-dropdown widget">
261 <h3 class="widget-header">Archives</h3>
262 <div class="widget-content">
264 <option>Select a Month...</option>
266 <option value="http://defaria.com/blogs/Status/2016/02/">February 2016</option>
270 <option value="http://defaria.com/blogs/Status/2014/09/">September 2014</option>
274 <option value="http://defaria.com/blogs/Status/2014/04/">April 2014</option>
278 <option value="http://defaria.com/blogs/Status/2014/03/">March 2014</option>
282 <option value="http://defaria.com/blogs/Status/2013/02/">February 2013</option>
286 <option value="http://defaria.com/blogs/Status/2012/09/">September 2012</option>
290 <option value="http://defaria.com/blogs/Status/2012/08/">August 2012</option>
294 <option value="http://defaria.com/blogs/Status/2012/05/">May 2012</option>
298 <option value="http://defaria.com/blogs/Status/2012/04/">April 2012</option>
302 <option value="http://defaria.com/blogs/Status/2012/02/">February 2012</option>
306 <option value="http://defaria.com/blogs/Status/2012/01/">January 2012</option>
310 <option value="http://defaria.com/blogs/Status/2011/10/">October 2011</option>
314 <option value="http://defaria.com/blogs/Status/2011/07/">July 2011</option>
318 <option value="http://defaria.com/blogs/Status/2010/09/">September 2010</option>
322 <option value="http://defaria.com/blogs/Status/2010/08/">August 2010</option>
326 <option value="http://defaria.com/blogs/Status/2010/04/">April 2010</option>
330 <option value="http://defaria.com/blogs/Status/2010/03/">March 2010</option>
334 <option value="http://defaria.com/blogs/Status/2010/02/">February 2010</option>
338 <option value="http://defaria.com/blogs/Status/2009/05/">May 2009</option>
342 <option value="http://defaria.com/blogs/Status/2009/04/">April 2009</option>
346 <option value="http://defaria.com/blogs/Status/2008/07/">July 2008</option>
350 <option value="http://defaria.com/blogs/Status/2008/05/">May 2008</option>
354 <option value="http://defaria.com/blogs/Status/2008/04/">April 2008</option>
358 <option value="http://defaria.com/blogs/Status/2008/03/">March 2008</option>
362 <option value="http://defaria.com/blogs/Status/2008/02/">February 2008</option>
366 <option value="http://defaria.com/blogs/Status/2008/01/">January 2008</option>
370 <option value="http://defaria.com/blogs/Status/2007/12/">December 2007</option>
374 <option value="http://defaria.com/blogs/Status/2007/11/">November 2007</option>
378 <option value="http://defaria.com/blogs/Status/2007/10/">October 2007</option>
382 <option value="http://defaria.com/blogs/Status/2007/09/">September 2007</option>
386 <option value="http://defaria.com/blogs/Status/2007/08/">August 2007</option>
390 <option value="http://defaria.com/blogs/Status/2007/07/">July 2007</option>
394 <option value="http://defaria.com/blogs/Status/2007/06/">June 2007</option>
398 <option value="http://defaria.com/blogs/Status/2007/05/">May 2007</option>
402 <option value="http://defaria.com/blogs/Status/2007/04/">April 2007</option>
406 <option value="http://defaria.com/blogs/Status/2007/03/">March 2007</option>
410 <option value="http://defaria.com/blogs/Status/2007/01/">January 2007</option>
414 <option value="http://defaria.com/blogs/Status/2006/12/">December 2006</option>
418 <option value="http://defaria.com/blogs/Status/2006/11/">November 2006</option>
422 <option value="http://defaria.com/blogs/Status/2006/10/">October 2006</option>
426 <option value="http://defaria.com/blogs/Status/2006/09/">September 2006</option>
430 <option value="http://defaria.com/blogs/Status/2006/07/">July 2006</option>
434 <option value="http://defaria.com/blogs/Status/2006/06/">June 2006</option>
438 <option value="http://defaria.com/blogs/Status/2006/05/">May 2006</option>
442 <option value="http://defaria.com/blogs/Status/2006/04/">April 2006</option>
446 <option value="http://defaria.com/blogs/Status/2006/03/">March 2006</option>
450 <option value="http://defaria.com/blogs/Status/2006/02/">February 2006</option>
454 <option value="http://defaria.com/blogs/Status/2006/01/">January 2006</option>
458 <option value="http://defaria.com/blogs/Status/2005/12/">December 2005</option>
462 <option value="http://defaria.com/blogs/Status/2005/11/">November 2005</option>
466 <option value="http://defaria.com/blogs/Status/2005/10/">October 2005</option>
470 <option value="http://defaria.com/blogs/Status/2005/09/">September 2005</option>
474 <option value="http://defaria.com/blogs/Status/2005/08/">August 2005</option>
478 <option value="http://defaria.com/blogs/Status/2005/07/">July 2005</option>
482 <option value="http://defaria.com/blogs/Status/2005/06/">June 2005</option>
486 <option value="http://defaria.com/blogs/Status/2005/05/">May 2005</option>
490 <option value="http://defaria.com/blogs/Status/2005/04/">April 2005</option>
494 <option value="http://defaria.com/blogs/Status/2005/03/">March 2005</option>
498 <option value="http://defaria.com/blogs/Status/2005/02/">February 2005</option>
502 <option value="http://defaria.com/blogs/Status/2005/01/">January 2005</option>
506 <option value="http://defaria.com/blogs/Status/2004/12/">December 2004</option>
510 <option value="http://defaria.com/blogs/Status/2004/09/">September 2004</option>
514 <option value="http://defaria.com/blogs/Status/2004/08/">August 2004</option>
518 <option value="http://defaria.com/blogs/Status/2004/07/">July 2004</option>
522 <option value="http://defaria.com/blogs/Status/2004/06/">June 2004</option>
526 <option value="http://defaria.com/blogs/Status/2004/05/">May 2004</option>
530 <option value="http://defaria.com/blogs/Status/2004/04/">April 2004</option>
534 <option value="http://defaria.com/blogs/Status/2004/03/">March 2004</option>
538 <option value="http://defaria.com/blogs/Status/2004/02/">February 2004</option>
542 <option value="http://defaria.com/blogs/Status/2004/01/">January 2004</option>
546 <option value="http://defaria.com/blogs/Status/2003/12/">December 2003</option>
550 <option value="http://defaria.com/blogs/Status/2003/11/">November 2003</option>
558 <div class="widget-syndication widget section">
559 <div class="widget-content">
560 <p><img src="http://defaria.com/mt/mt-static/images/status_icons/feed.gif" alt="Subscribe to feed" width="9" height="9" /> <a href="http://defaria.com/blogs/Status/atom.xml">Subscribe to this blog's feed</a></p>
568 <footer id="footer" role="contentinfo">
569 <div id="footer-inner">
570 <div id="footer-content">
571 <nav role="navigation">
573 <li><a href="http://defaria.com/blogs/Status/">Home</a></li>
579 <p class="license">© Copyright 2016.</p>
580 <p class="poweredby">Powered by <a href="http://www.movabletype.org/">Movable Type</a></p>
586 <script src="http://defaria.com/mt/mt-static/jquery/jquery.min.js"></script>
587 <script src="http://defaria.com/blogs/Status/mt-theme-scale2.js"></script>