<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>



</head>
<body>
<style type="text/css">
img {
max-width: 100%; height: auto;
}
</style>
<div class="content">
<h3>
Eric S. Raymond pushed to branch master
at <a href="https://gitlab.com/NTPsec/ntpsec">NTPsec / ntpsec</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.com/NTPsec/ntpsec/commit/42e2211d15e19c92b67851b928f15096ac5d89ae">42e2211d</a></strong>
<div>
<span>by Eric S. Raymond</span>
<i>at 2016-10-01T11:09:41-04:00</i>
</div>
<pre class="commit-message" style="margin: 0; white-space: pre-wrap">A note on avoiding struct timeval.
</pre>
</li>
</ul>
<h4>1 changed file:</h4>
<ul>
<li class="file-stats">
<a href="#diff-0" style="text-decoration: none">
devel/hacking.txt
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id="diff-0">
<a href="https://gitlab.com/NTPsec/ntpsec/commit/42e2211d15e19c92b67851b928f15096ac5d89ae#diff-0"><strong>devel/hacking.txt</strong></a>
<hr>
<table class="code white" style="-premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; background: #fff; font-family: monospace; font-size: 13px" bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0">
<tr class="line_holder match" style="line-height: 1.5">
<td class="diff-line-num unfold js-unfold old_line" data-linenumber="82" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="diff-line-num unfold js-unfold new_line" data-linenumber="82" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">...</td>
<td class="line_content match " style="background: #fafafa; color: rgba(0,0,0,0.3); padding-left: 0.5em; padding-right: 0.5em" bgcolor="#fafafa">@@ -82,6 +82,21 @@ http://www.unix.org/whitepapers/reentrant.html[Thread-safety and POSIX.1]</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="82" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
82
</td>
<td class="diff-line-num new_line" data-linenumber="82" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
82
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC82" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="83" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
83
</td>
<td class="diff-line-num new_line" data-linenumber="83" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
83
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC83" class="line">All C files should be in plain US-ASCII encoding; do not use trigraphs.</span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="84" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
84
</td>
<td class="diff-line-num new_line" data-linenumber="84" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
84
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC84" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
85
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC85" class="line">=== Other interfaces to be avoided ===</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="86" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
86
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC86" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="87" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
87
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC87" class="line">Don't use gettimeofday(2).  While this is nominally POSIX, it is</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="88" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
88
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC88" class="line">deprecated and may be removed in the future.  Use clock_gettime(2)</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="89" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
89
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC89" class="line">instead.</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="90" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
90
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC90" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="91" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
91
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC91" class="line">Use pselect(2) rather that select(2), to avoid introducing struct</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="92" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
92
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC92" class="line">timeval.</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="93" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
93
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC93" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="94" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
94
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC94" class="line">In general, avoid introducing the type struct timeval into the code,</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="95" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
95
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC95" class="line">in favor of the higher-resolution struct timespec. Early on in</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="96" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
96
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC96" class="line">NTPsec's history we found a bug introduced by poor data management</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="97" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
97
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC97" class="line">where these two time representations bumped into each other; we don't</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="98" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
98
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC98" class="line">want that to happen again.</span>
</pre>
</td>
</tr>
<tr class="line_holder new" style="line-height: 1.5">
<td class="diff-line-num new old_line" data-linenumber="85" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="99" style="background: #ddfbe6; border-right-color: #c7f0d2; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#ddfbe6">
99
</td>
<td class="line_content new noteable_line" style="background: #ecfdf0; padding-left: 0.5em; padding-right: 0.5em" bgcolor="#ecfdf0">
<pre style="margin: 0"> <span id="LC99" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="85" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
85
</td>
<td class="diff-line-num new_line" data-linenumber="100" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
100
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC100" class="line">=== Coding style and indentation ==</span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="86" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
86
</td>
<td class="diff-line-num new_line" data-linenumber="101" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
101
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC101" class="line"></span>
</pre>
</td>
</tr>
<tr class="line_holder" style="line-height: 1.5">
<td class="diff-line-num old_line" data-linenumber="87" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
87
</td>
<td class="diff-line-num new_line" data-linenumber="102" style="background: #fafafa; border-right-color: #f0f0f0; border-right-style: solid; border-right-width: 1px; color: rgba(0,0,0,0.3); padding: 0 5px; text-align: right; width: 35px" align="right" bgcolor="#fafafa">
102
</td>
<td class="line_content noteable_line" style="padding-left: 0.5em; padding-right: 0.5em">
<pre style="margin: 0"> <span id="LC102" class="line">Dr. Dave Mills likes this code indented formatted in a consistent way.</span>
</pre>
</td>
</tr>

</table>
<br>
</li>

</div>
<div class="footer" style="margin-top: 10px">
<p style="color: #777; font-size: small">

<br>
<a href="https://gitlab.com/NTPsec/ntpsec/commit/42e2211d15e19c92b67851b928f15096ac5d89ae">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.com/NTPsec/ntpsec/commit/42e2211d15e19c92b67851b928f15096ac5d89ae"}}</script>
</p>
</div>
</body>
</html>