Skip to content

Commit a423005

Browse files
jdefJames DeFelice
authored andcommitted
address review feedback
1 parent 6f8dfdf commit a423005

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

pkg/kubelet/dockershim/helpers.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -397,13 +397,13 @@ func (d dockerOpt) GetKV() (string, string) {
397397
return d.key, d.value
398398
}
399399

400-
// writeLimiter limits the total output written across one or more streams.
401-
type writeLimiter struct {
400+
// sharedWriteLimiter limits the total output written across one or more streams.
401+
type sharedWriteLimiter struct {
402402
delegate io.Writer
403403
limit *int64
404404
}
405405

406-
func (w writeLimiter) Write(p []byte) (int, error) {
406+
func (w sharedWriteLimiter) Write(p []byte) (int, error) {
407407
if len(p) == 0 {
408408
return 0, nil
409409
}
@@ -418,11 +418,7 @@ func (w writeLimiter) Write(p []byte) (int, error) {
418418
}
419419
n, err := w.delegate.Write(p)
420420
if n > 0 {
421-
newLimit := limit - int64(n)
422-
for !atomic.CompareAndSwapInt64(w.limit, limit, newLimit) {
423-
limit = atomic.LoadInt64(w.limit)
424-
newLimit = limit - int64(n)
425-
}
421+
atomic.AddInt64(w.limit, -1*int64(n))
426422
}
427423
if err == nil && truncated {
428424
err = errMaximumWrite
@@ -434,7 +430,7 @@ func limitedWriter(w io.Writer, limit *int64) io.Writer {
434430
if w == nil {
435431
return nil
436432
}
437-
return &writeLimiter{
433+
return &sharedWriteLimiter{
438434
delegate: w,
439435
limit: limit,
440436
}

0 commit comments

Comments
 (0)