C :: How To Apply Mutex Lock On Shared Memory

Jul 11, 2014

I was trying to put mutex lock on shared memory but my code is not working. What I want is that if some process is putting something on shared memory segment, other process should not be able to access that segment. For testing , I create a server program which put data in shared memory and client program which access the data.

To test it, I put break point after:

pthread_mutex_lock(&(init_lock));

But I see that client program was able to access shared memory.

Below is code:

Server: Code: pthread_mutex_t init_lock = PTHREAD_MUTEX_INITIALIZER;
main()
{
char c;

[Code].....

View 1 Replies


ADVERTISEMENT

C :: Implement Mutex Lock Using Atomic Hardware Instruction

Mar 25, 2014

Consider how to implement a mutex lock using an atomic hardware instruction. Assume that the following structure defining the mutex lock is available:

Code:

typedef struct {
int available;
}
lock; (available == 0)

indicates that the lock is available, and a value of 1 indicates that the lock is unavailable. Using this struct, illustrate how the following functions can be implemented using the test and set() and compare and swap() instructions:

void acquire(lock *mutex)
void release(lock *mutex)

Be sure to include any initialization that may be necessary.

View 2 Replies View Related

C++ :: Shared Memory Between Processes

Apr 13, 2014

Say now I have a dll, loaded and run by a 32bit program. One of the things that I access from the program in the dll are several 1024x1024 int buffers. However I would like to put some data into those buffers from a external process. And I would like a separate thread in that external process for each buffer. Is there any way I can make that memory space accessible to the external process so I can use my own multi threaded memory transfers to pass that data over provided I ensure that the original process doesn't try to do anything with that data? And I would like to do this without resorting to the Read/WriteProcessMemory functions which are not threadsafe. In short, I want to set up direct memory access between the 2 programs without creating any intermediate shared memory buffers ie I want to set permissions for an existing memory space. Is this possible?

View 1 Replies View Related

C++ :: Moving Objects To Shared Memory

Feb 9, 2013

I am not so experianced with c++ myself, but I need to evaluate if a certain idea might work.

I am working with a system for automation purposes that is running on a realtime OS in parallel to windows. Windows and the RTOS exchange data via shared memory. The application in the RTOS is compiled in C++. Now I would like to be able to influence the some data manipulation tasks in the RTOS application without changing the code of the RTOS application. So a concept like calling a dll.

My idea was to create a class with virtual methods in the RTOS application. The objects that are used should then be created on the Windows side with the same class prototype, but specific implementation of the virtual methods. The objects should then be moved to the shared memory, where they are used by the RTOS application.

Is something like this possible or am I completly on the wrong path?

View 4 Replies View Related

C++ :: File Handling Vs Shared Memory?

May 27, 2014

In interprocess communication(IPC) when processe have to share data among each other,why cant they all connect to one single file and share data with basic file handling functions such as read and write?

Why do we need

shared memory(shmget shmat(),shmdt()..etc)
and
mapped memory(mmap(),munmap()..etc)

concepts?

View 3 Replies View Related

C :: How To Store Array Of Structure At Shared Memory

Jan 16, 2014

I have one requirement to store an array of structure at shared memory. Also the shared memory should have one counter to store number of elements in the array.

I tried to look at some placed but didn't find anything relevant.

So my first question, is it possible that we can store two things on same shared memory. And second if not then how to achieve the same?

View 5 Replies View Related

C :: Initialize 1D Or 2D Array In Shared Memory (POSIX)

Dec 8, 2014

I am trying to initialize a 2D char array of strings into POSIX shared memory to be shared between 3 other processes. There are plenty of tutorials on how to use a pointer to share a single string or an integer between processes, but I could find no examples on how to initialize 1D or 2D arrays using mmap(). I have posted what I have so far below. It is the first program, which creates the shared memory object and initialize the array char files[20][2][100] with the value files[0][0][0] = ''. What is the proper method to initialize and share an array in C?

(program initializes shared memory object and array)

Code:
#include<fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/shm.h>
#include <sys/stat.h>
#include <sys/mman.h>

int main (int argc, char *argv[]){

[Code] ......

View 5 Replies View Related

C :: Shared Memory / Cannot Read Last Element In A Struct

Jun 27, 2014

I have trouble reading the last element in a struct.I do get the correct value for the first two elements. In my example that is:

a = 11 and c = H
however I get:
b = 0
but I am expecting b=2

I got two files to handle this.The first one is writing data to memory -

Code:

#include <sys/shm.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
}

[code]....

why I cannot get correct value for the third element in my struct?In the second file where I'm reading from memory I allocate some space. Is this incorrect in some way? I'm running this on a Linux machine.

View 2 Replies View Related

C/C++ :: Shared Memory Project Not Getting Accurate Count For Processes

Jan 30, 2014

I'm working on a project that is supposed to create 3 processes. Process 1 should count from 1 to 100,000. Process 2 from 1 to 200,000. Process 3 from 1 to 300,000. I've written the basic code of it but my processes aren't printing out very accurate numbers.

Here's my code:

/*ass1*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdlib.h>
#include <unistd.h>
/* change the key number */
#define SHMKEY ((key_t) 8450)
typedef struct

[code]....

View 4 Replies View Related

C++ :: Shared Memory To Make Objects Of Application Persistent?

Aug 18, 2014

I have a question concerning shared memory (in linux-environment). In our company we currently have an application that is restarted once in a while. There are multiple instances running of this application (on different physical machines), and all access the same centralized database. Because of IO and Network bottleneck the start gets very slow, and takes about 10 Minutes. Besides some new data, most of the data stays the same, so reading from the database again is quite redundant. An idea is to write all relevant object to a shared memory segment, when the application is shut down. A second dummy process attaches to the same shared memory (just so that some process is still attached). If the application is restarted, it is attached again to its shared memory, and reads it to its own adress range again. There might occur a difference regarding the data so it might me necessary to load some new data afterwards, but that is different problem.

The current idea is to serialize all Objects (could be about 1-2 Gigabyte) with Apache Thrift, and write them into shared memory. With Thrift the data is more or less ordered, so creating the objects anew is possibly easier (not sure here).

My Question is:

- Does it even make sense to consider shared memory in this scenario. I've read a lot stuff about in the last few days, and for now I don't see big disadvantages (except if the application crashes, in this case I've to read from database again). On the other hand I don't know how to really implement this functionality (as I'm no experienced Developer)

- Should I aim for Boost::Interproces, considering even memory mappable files, or stay with the traditional shmat (and stuff..)?

- I guess 1-2 Gigabyte shared memory will be necessary. This amount is only needed in the gap between application shutdown and restart. Will the sheer amount of needed shared memory be a problem (all examples I found just used a few Bytes or Kilobytes)

View 9 Replies View Related

C/C++ :: Know That Data Written To Shared Memory Segment In Unix Is Stored Properly

Mar 8, 2012

I am trying to write a client/server application that takes input to an array of structures from the user,stores the data in a shared memory segment and then writes the same to a file when I close the application. How do I get started? And how do I ensure that the server stores the data correctly? Also, the server needs to be a concurrent server that accepts connections from multiple clients.

View 1 Replies View Related

C++ :: Where Mutex Is Stored In Windows

Jan 17, 2013

I want to know how mutex is working in process synchronization. Where these mutexes are stored in memory how another process know about this mutex?

If two different mutexes are having same name what will happen?

View 6 Replies View Related

C++ :: Mutex In Critical Section

Mar 1, 2013

If any exception occurs in critical section code then what sort of issue which we see in terms of synchronization objects?

Before and after the critical section code, Mutex is locked and unlocked. But if any exception occurs then the waiting thread will be waiting for resource to be freed as Mutex is not unlocked due to the exception.

View 5 Replies View Related

C++ :: G++ 4.7.2 Error - Mutex In Namespace STD Does Not Name A Type

Mar 11, 2013

I've verified this on ubuntu 12.10 and on windows/mingw, and found that g++ version 4.7.2 seems to have broken thread/mutex support.

View 11 Replies View Related

C/C++ :: Apply Arrays In Files?

May 13, 2014

I am Trying to make my program read 10 integers from a user-named file using arrays, but I encountered logic error because the calculations turns out to be wrong. my question is, Am I supposed to use arrays with files? if so, What is wrong? it runs fine but only the calculation is WAY OFF!

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
const int SIZE = 10;
void input(const int a[], int size);
int getTotal(const int a[], int size);

[Code] ....

View 14 Replies View Related

C++ :: How To Calculate And Apply All Char Combinations

Jan 12, 2015

how to write a password cracking program that will try all possible char combinations for just two chars (without duplicating any combination guesses). Obviously, there would only be 4 possible truth table combinations for two boolean values, but how would a person calculate the number of all possible combinations for two values with 70 different possible chars?

#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
static const char alphanum[] =
"0123456789"
"!@#$%^&*"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz";
/*

Boolean Truth Table for two values:

p q
-----
T T
T F
F T
F F

Note that there are 70 chars in all specified above.

It will require much more than a simple truth table to try every possible char combination (especially if the password to be cracked is 2 or more chars). Using this guy's code: [URL] ..... as a starting point, I'm writing a program that will crack a password with a length of just 2 chars.

*/
int stringLength = 2;
char genRandom() {
return alphanum[rand() % stringLength];
}
int main() {
std::string password = "Sp";
srand(time(0));
std::string Str;

[code]....

View 19 Replies View Related

C++ :: Calculate Number Of Tickets And Apply Discount

Sep 8, 2013

I am trying to do a simple calculation. I just started C++ and learning about decisions. My program should calculate number of tickets and apply discount based on the number of tickets purchased. It will only execute one of the decisions.

#include <iostream>
using namespace std;
int main() {
double qty; // qty of tickets
double discount; // % of discount.

[Code] ....

View 7 Replies View Related

C# :: How To Apply XAML File In Windows Form

Dec 7, 2014

I need to apply theme file in windows form but I can't. When I use the code below I get error because there is no System.Windows.Application

StreamResourceInfo sri = System.Windows.Application.GetResourceStream(
new Uri("App.xaml", UriKind.Relative));
var resources = (System.Windows.ResourceDictionary)Load(sri.Stream); ;
var app = new System.Windows.Application();
app.Resources.MergedDictionaries.Add(resources);

View 2 Replies View Related

C++ :: Apply Gabor Filter For Fingerprint Enhancement?

Feb 21, 2012

I am trying to apply gabor filter to a fingerprint for fingerprint enhancement using c.

My image size is 280x340.Gabor filter equation is :

F(x,y) = exp(-0.5*[x^2/sigma_x^2 + y^2/sigma_y^2]) * cos(2*PI*f*x);

I am able to execute this equation.But my problem is i am calculating the equation for 280x340 times and it is taking time(4 sec 2.93GHz 3GB ram).

how to reduce the executation time ?

What I know exp function is taking time. So is there any equivalent of exp which will take less time to execute ?

View 6 Replies View Related

C :: How To Define The Lock Detect

Feb 24, 2013

It is my first time in use lock detect so i didn't now how to start.

how to define the lock detect?

View 4 Replies View Related

C Sharp :: Open Image In Paint Mode After That How To Apply Graphics

Aug 21, 2012

How to open a image in paint mode after that how to apply graphics to that opened image in paint mode.I am attached a image i want to draw a center line in that image..

Attached Images point1.jpg (12.9 KB)

View 1 Replies View Related

C/C++ :: Lock Knob - Function To Tell If Going Clockwise Or CCW

Aug 30, 2014

For a larger program I need a way to tell if a "lock knob" is going clockwise or counterclockwise. So below, I have my MoveLock function (That our teacher actually gave us to use) that reads inputs from the arrow keys and displays them. But what I need is to be able to count each time its moved in the correct direction and to reset the count it if it has gone in the other. Right now I'm just testing if it's going clockwise. I thought to solve this by resetting the count if it was less than the returned value from MoveLock (which is a count to compare to the former). Currently, it only displays the current position and the count as -1 or 1.

#include <iostream>
#include <windows.h>
#include <iomanip>
using namespace std;
HANDLE inKeys = GetStdHandle(STD_INPUT_HANDLE);
HANDLE screen = GetStdHandle(STD_OUTPUT_HANDLE);

[code]....

View 2 Replies View Related

C# :: Windows Phone 8.1 Auto Lock Screen Code

Mar 6, 2015

Auto lock screen coding for windows phone 8.1.

View 2 Replies View Related

C/C++ :: Implementation Of Stress Test For Lock Free Queue

Aug 31, 2014

I am trying to compare performance of different lock-free queues, therefore, I want to create a stress test - which includes pushing/popping user-defined pre-built objects to and from the queue. My question is how can perform the stress test with pushing and popping objects instead of pointers to object like I have done in my code. What is the different in terms of performance of pushing/popping objects Vs. pushing/popping pointers.

#include <cstdlib>
#include <stdio.h>
#include <string>

[Code]....

View 3 Replies View Related

C# :: Custom Dialog Resizer With Aspect Lock CheckBox

Jan 20, 2015

I am working on a paint program (already quite well developed) and I have a 'Resize' option in my Menu. When pressed it activates a custom dialog for resizing the image with 2 numeric up/downs to adjust width and height. It all works perfectly. But I want to include an 'Aspect Lock' checkBox like a professional program would have. It should immediately change both values as you adjust either one.

Here's where I am totally stumped! Of course I have tried and tried various codes, but nothing works properly. My values jump erratically or won't change at all. I wonder if trying to change the value of one numeric up/down while inside the code block for changing the value of the other one has got them screwing with each other somehow. Any example code that could accomplish what I'm trying to do?

View 5 Replies View Related

C Sharp :: Lock Thread Till Execution Is Finished?

Jun 26, 2012

I have a event called dataTree_AfterSelect in which I have some code which I want to execute as atomic operation like this:

protected void dataTree_AfterSelect(event params)
{
code that should not be disturbed
}  

What is happening now is, I am able to select another node of tree & in that case another execution of above function starts causing a garbled result.

What I want is, user should be able to click on tree node but execution of code block should only start after first execution is totally over.

View 4 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved